我试图谷歌这无济于事,并尝试了多种选择。所有这些都在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')
}
请帮我解决这个问题。我期待着听到别人的回复。
答案 0 :(得分:2)
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相同的URL,以便链接仍然适用于禁用JS的用户。对于启用了JS的用户,您可以从onclick
返回false,这样就不会出现默认导航以及您的onclick:
<a href="stream/index.html" onclick="streamwindow(); return false;">Listen Live</a>
如果上述方法仍无效,我建议您暂时使用简单的alert("In function x");
消息替换函数内容,以测试是否正在调用这些函数。
答案 1 :(得分:0)
两个问题:
窗口名称(对于IE)必须是有效的标识符,因此“直播”将无效。请改为使用“Live_Stream”或“LiveStream”。
窗口选项参数(“可滚动”,“高度”等)需要全部合并为一个字符串,以逗号分隔。