JavaScript window.open заблокирован блокировщиком всплывающих окон IE

string.utf8 или string.utf16 должны делать то, что вы просите. См. Здесь для получения дополнительной информации: https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/StringsAndCharacters.html .

12
задан Agustin Meriles 5 April 2013 в 12:08
поделиться

5 ответов

Проблема будет в том, что open вернет ссылку на окно только в том случае, если вы переходите куда-нибудь в пределах вашего текущего хоста. Вы переходите к about: blank, которого нет на вашем хосте.

Попробуйте добавить файл blank.htm на свой сайт и вместо этого откройте его. Я все еще не уверен, что document.write будет разрешено, что документ не будет открыт для записи, однако вы можете управлять DOM существующего пустого документа.

13
ответ дан 2 December 2019 в 07:22
поделиться

Он блокирует его, потому что это не якорь с target = "_ blank". Вы создаете всплывающее окно программно.

Просто сделайте это после примера кода, который вы предоставили.

if (!child1) {
      alert('You have a popup blocker enabled. Please allow popups for www.yourSite.com');
}
3
ответ дан 2 December 2019 в 07:22
поделиться

Если установлен уровень фильтра Средний , блокировщик всплывающих окон Internet Explorer не будет блокировать окна, открываемые JavaScript, если они были инициированы действием пользователя. Следующее работает нормально в IE 6, 7 и 8:

<script type="text/javascript">
function openWin() {
    var width = 800;
    var height = 600;
    var left = Math.floor((screen.availWidth - width) / 2);
    var top = Math.floor((screen.availHeight - height) / 2);
    var windowFeatures = "width=" + width + ",height=" + height +
            ",menubar=yes,toolbar=yes,scrollbars=yes,resizable=yes," +
            "left=" + left + ",top=" + top +
            "screenX=" + left + ",screenY=" + top;
    child1 = window.open("about:blank", "subWind", windowFeatures);
    writeTo(child1);
}
function writeTo(w) {
    w.document.write('Test');
}
</script>
<a href="#" onclick="openWin();return false;">Test</a>

Обратите внимание, что использование document.write во вновь открытом окне не работает в некоторых веб-браузерах. Также обратите внимание, что это может вызвать срабатывание блокировщика всплывающих окон в других браузерах, даже если он работает, как показано в Internet Explorer.

Я видел, как вызов JavaScript из события onclick может в некоторых случаях, вызвать срабатывание блокировщика всплывающих окон. Похоже, это как-то связано с тем, насколько далеко window.open () от события onclick. Слишком много уровней функций, вызывающих функции перед вызовом window.open () .

4
ответ дан 2 December 2019 в 07:22
поделиться

Я предлагаю вам создать фиктивную [форму] с target = "_ blank" вместо window.open ().

Надеюсь, это сработает.

С уважением.

PD: Я полагаю, что добавление вашего сайта в "доверенные сайты" не вариант, верно?

0
ответ дан 2 December 2019 в 07:22
поделиться

попробуйте код

var newWin = window.open(...);
if (newWin && newWin.top) {
    // popup has opened
} else {
    // popup has been blocked
}
1
ответ дан 2 December 2019 в 07:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: