日期:2014-05-17  浏览次数:21483 次

关于Response.Write问题,望指教
想在ASP里调用打开两个窗口分别叫A.asp和B.asp,写的代码如下:
Response.Write "<scrpit language='jabascript'>window.open('A.asp','A');</script>"
Response.Write "<scrpit language='jabascript'>window.open('B.asp','B');</script>"

我用的是IE7调试的,都会到这两句出错,如果把window.open改成window.navigate就不出错了,但只跳转到A.asp页面,也没实现打两个页面,不知道这问题如何解决,谢谢!

------解决方案--------------------
现代浏览器都会禁自动弹出窗口的,
window.open都要是用户显示打开的比如onclick才可能允许。

------解决方案--------------------
这个主要是我们浏览器对弹窗的的限制问题。一般只要是从服务器回传去的window.open。都回被禁止。
我们可以用变通的方法。自己封装一个函数。使用<a>标签来完成新建窗口。
function openwin(url) {
var a = document.createElement("a");
a.setAttribute("href", url);
a.setAttribute("target", "_blank");
a.setAttribute("id", "openwin");
document.body.appendChild(a);
a.click();
}
调用方式如下:
<input type="button" id="btn" value="百度" onclick="openwin('http://www.baidu.com');" />