我已经尝试用谷歌搜索这个无济于事,并尝试了多种选择。所有这些都在 firefox 中工作,但没有一个在 IE 中工作。我在一页上有 2 个 onclick 事件,但都没有在 IE 中工作。两个事件的 javascript 文件由以下人员调用:
<script type="text/javascript" src="openwindow.js"></script>
第一个事件是锚定事件,我将其作为开始:
<a href="" onclick="streamwindow()">Listen Live</a>
然后尝试
<a href="javascript:streamwindow()">Listen Live</a>
然后:
<a href="javascript:void(0)" onclick="streamwindow()">Listen Live</a>
然后:
<a href="javascript:openwindow.js" onclick="streamwindow()">Listen Live</a>
然后:
<a onclick="javascript:streamwindow()">Listen Live</a>
我想这就是我迄今为止为那个所做的一切尝试。另一个点击事件在用户点击图像时被调用。再次在 firefox 中正常工作,但在 IE 中却不行。第二个事件的代码是:
<td width="450px" align="center">
<p>Clip of The Day</p>
<img id="image2" src="images/sound.jpg" onclick="clipwindow()" />
</td>
我也玩过这个。 javascript 文件 (openwindow.js) 包含:
function clipwindow()
{
window.open ('clipoftheday.html', 'Clip of the Day', 'height=200',
'width=100', 'toolbar=no', 'menubar=no', 'scrollbars=no', 'resizable=no',
'location=no', 'directories=no', 'status=no')
}
function streamwindow()
{
window.open ('stream/index.html', 'Live Stream', 'height=70', 'width=500', 'toolbar=no', 'menubar=no', 'scroolbars=no', 'resizable=no', 'location=no', 'directories=no', 'status=no')
}
请帮我解决这个问题。我期待收到人们的回音。
最佳答案
window.open()
方法需要所有这些高度、宽度等参数作为单个字符串:
window.open('stream/index.html', 'LiveStream',
'height=70,width=500,toolbar=no,menubar=no,scroolbars=no,resizable=no,location=no,directories=no,status=no');
根据 MDN窗口名称和带有功能的字符串不应包含空格。我不知道为什么您现有的代码可以在 FF 中运行。
大部分或全部 <a>
变体应该有效,但在您尝试过的变体中,我建议使用这个:
<a href="javascript:void(0)" onclick="streamwindow()">Listen Live</a>
不过,更好的方法是设置 href
指向与 JS 将打开的相同的 URL,以便该链接对于禁用 JS 的用户仍然有效。对于启用 JS 的用户,您然后从 onclick
返回 false这样默认导航就不会像您的 onclick 那样发生:
<a href="stream/index.html" onclick="streamwindow(); return false;">Listen Live</a>
如果上述方法仍然不起作用,我建议您暂时用简单的 alert("In function x");
替换函数的内容。消息来测试函数是否被调用。
关于Javascript:Onclick 事件在 IE 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7972458/