Javascript弹出窗口-适用于FF&;Chrome在IE中失败
我似乎不明白为什么下面这个简单的弹出窗口在IE9中不起作用。FF&Chrome弹出窗口与预期一致,但IE在单击链接时似乎没有做任何事情。我尝试了IE9调试器,但没有得到任何有用的信息 在标题部分:Javascript弹出窗口-适用于FF&;Chrome在IE中失败,javascript,html,Javascript,Html,我似乎不明白为什么下面这个简单的弹出窗口在IE9中不起作用。FF&Chrome弹出窗口与预期一致,但IE在单击链接时似乎没有做任何事情。我尝试了IE9调试器,但没有得到任何有用的信息 在标题部分: <script type="text/javascript" language="JavaScript"> function JSPopup(linkref) { window.open(linkref,"Report Definitions","width=600
<script type="text/javascript" language="JavaScript">
function JSPopup(linkref) {
window.open(linkref,"Report Definitions","width=600,height=480");
return false;
}
函数JSPopup(linkref){
打开(linkref,“报告定义”,“宽度=600,高度=480”);
返回false;
}
在正文中:
<a href="#" onClick="JSPopup('./Web Report Definitions.html')"> <strong>Report Definitions</strong> </a>
谢谢你的帮助
Filip这是IE6安全更改的一部分。现在,您只能在用户启动的事件中调用“window.open”。例如,您的代码将在元素的onclick事件中工作。“window.open”MSDN页面显示: 此方法必须使用用户启动的操作,如单击链接或选项卡指向链接并按enter键,以打开弹出窗口。Internet Explorer 6中的弹出窗口阻止功能可阻止未经用户启动而打开的窗口 例如
function popUpWin(url,wtitle,wprop){
if (!window.open){ return; } // checking if we can't do this basic function
// Kill if(win), since win was a local var this was a usless check
var win = window.open(url,wtitle,wprop);
// next line important in case you open multiple with the same 'wtitle'
// to make sure the window is reused and refocused.
if (win && win.focus){ win.focus(); }
return false;
}
原来问题出在弹出窗口的名称上-IE不允许空格,FF&Chrome do:
window.open(linkref,"Report Definitions","width=600,height=480");
需要更改为:
window.open(linkref,"ReportDefinitions","width=600,height=480");
这可以跨浏览器工作
Filip您在
报告定义“
之后缺少逗号和开头双引号。很抱歉,这是发布时的复制粘贴错误。代码中有逗号和开头引号。IE会阻止这种类型的弹出窗口吗?不,它可以弹出窗口-结果是一个空间问题,窗口中的弹出窗口名为。Open此处似乎不是这样,因为在html链接上单击onclick之后调用了JS。用户正在单击此链接,因此上述内容不适用,因为这是用户发起的操作。