Написание этой статьи не для того, чтобы сообщить рекламодателям, рекламирующим спам, что они могут показывать рекламу или скрывать всплывающие окна в фоновом режиме, а для того, чтобы напомнить всем, что в ядре IE все еще есть некоторые функции, которые могут обойти функцию блокировки рекламы большинства браузеров. в IE, и даже в обход самого браузера, прямо всплывает настоящее окно Internet Explorer. Конечно не у всех, у некоторых дела обстоят лучше, например у Maxthon Хоть и открывается новое окно, но оно все равно существует в Maxthon, вместо того, чтобы выскакивать IE в фоне, но ТТ, The World и т.д. Это не работает. в некоторых браузерах и может быть открыт непосредственно как новое окно IE. С давних времен одно замалчивалось, и я надеюсь, что найдется соответствующее решение.
Принцип прост. Функция блокировки всплывающей рекламы большинства браузеров блокирует функцию window.open. Конечно, есть несколько инструментов и программного обеспечения, которые могут блокировать функции showModalDialog и showModalessDialog, а функция класса showModal может открывать модальное окно, пока оно может работать. IE полностью инкапсулирует эту функцию, поэтому запуск window.open() в функции класса showModal не может быть заблокирован.
Итак, если вы знаете этот принцип, вы можете сами написать несколько javascript и использовать его.
1. Используйте showModalDialog, чтобы открыть указанную страницу.
2. Нет необходимости содержать контент на указанной странице. Вам нужно только выполнить window.open(), чтобы открыть новое окно.
3. После открытия этого окна закройте его в модальном окне (window.close())
Таким образом, окно, которое вы хотите открыть, можно открыть косвенно через модальное окно.
Связанный код:
Код на главной странице:
<script Language=Javascript>
//Открываем модальное окно
функция showDialog(dialogUrl){
вар sUrl = диалогUrl;
var sFeathers = "help:off;изменение размера:off;прокрутка:нет;статус:off";
//sUrl = sUrl
window.showModalDialog(sUrl,"",sFeathers);
}
//Открываем указанный URL
функция openUrl(sUrl){
//адрес файла модального окна
вар диалогурл = "txdialog.htm";
//Добавляем случайные параметры для принудительного обновления, которое здесь не требуется.
DialogUrl += "?r=" + Math.random()*100000;
диалогUrl += "&url=" + sUrl;
showDialog (dialogUrl);
}
</скрипт>
тестовый код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<голова>
<title>Без названия</title>
</head>
<body>Пожалуйста, введите URL-адрес окна, которое вы хотите открыть:
<input type="text" name="txtUrl" id="txtUrl" value=" http://senyx.cnblogs.com ">
<input type=button onclick="openUrl(txtUrl.value)" value='test'>
</тело>
</html>
Поместите следующий код на страницу, где расположено модальное окно (txdialog.htm):
<язык сценария=javascript>
functionRequest(strName)
{
вар strHref = location.href;
var intPos = strHref.indexOf("?");
вар strRight = strHref.substr(intPos + 1);
вар arrTmp = strRight.split("&");
for(var i = 0; i < arrTmp.length; i++)
{
var arrTemp = arrTmp[i].split("=");
if(arrTemp[0].toUpperCase() == strName.toUpperCase()) return arrTemp[1];
}
возвращаться "";
}
вар sUrl = Запрос («URL»);
//оповещение(sUrl);
окно.open(sUrl);
окно.закрыть();
</скрипт>
Пример загрузки:
http://fanrsh.cnblogs.com/articles/280189.html