Итак, я задал этот вопрос некоторое время go, и он сразу же закрылся, поэтому я более подробно расскажу, как, кажется, проблема связана с c типом файла dmg, с которым я до сих пор не сталкивался.
Я просто хочу иметь возможность нажать кнопку и затем загрузить dmg, не используя много javascript или любого другого.
Однако, используя мой код, файл dmg открывается в браузере, так что вы получите набор двоичных файлов gibberi sh, и файл не загрузится, если вы хотите увидеть, что я имею в виду, перейдите к https://lucas-testing.000webhostapp.com/release, а затем нажмите «Загрузить» для MacOS.
Имя файла dmg меняется, так как номер версии является частью имени, поэтому я использую php, чтобы получить информацию о файле и создать переменную, хранящую адрес этого сайта, например, текущую ссылку, сгенерированную моим PHP будет:
var downloadLinkAlt = "https://lucas-testing.000webhostapp.com/release/The City Of Truro Mariners - Management Console-1.0.19.dmg"
Мой код для загрузки этой ссылки:
<button onclick="location.href=downloadLinkAlt" id="DownloadByOSAlt" class="btn btn-sm btn-primary mt-3">Download for MacOS</button>
Я точно знаю, что приведенный выше код работает, поскольку он отлично работает с точно такой же ссылкой, но с вместо этого расширение exe-файла.
То, что я пробовал:
Атрибут загрузки, который можно использовать в HTML5 для принудительной загрузки таких вещей, как PDF:
<button onclick="location.href=downloadLinkAlt" id="DownloadByOSAlt" class="btn btn-sm btn-primary mt-3" download>Loading...</button>
Ссылка: https://www.w3schools.com/tags/att_a_download.asp
Вставка кнопки в форму и использование запроса на получение со ссылкой:
<form method="get" action=downloadLinkAlt>
<button type="submit">Download!</button>
</form>
Ссылка: { ссылка }
Использование невидимого iframe, источник которого изменяется при нажатии кнопки:
document.getElementById('my_iframe').src = downloadLinkAlt;
<iframe id="my_iframe" style="display:none;"></iframe>
Ссылка: { ссылка }
Кто-нибудь есть какие-нибудь предложения относительно того, что попробовать дальше?