尝试单击下一页上的“打印”按钮: (链接删除 - 共识是一切正常,问题是我的设置) 出于调试目的,我用一个简单的警报(“测试”)替换了一大块javascript,甚至在IE7中也没有显示出来。它在Safari,FF(Mac和PC)和IE6中完全正常,但由于某些原因它在IE7中不起作用。供您参考,按钮中的代码是:
<a onclick="makeNewWindow()" href="#"><img src="/print.gif"/></a>
和/newsletter/print.js中的JS是这样的:
function makeNewWindow() {
alert("test");
}
任何人都可以帮助我理解是否有解决方法,或者这与我通过Mac上的Parallels运行“IE7 Standalone”这一事实有关?非常感谢任何帮助。
谢谢, 麦克
答案 0 :(得分:4)
刚刚在IE7 Vista上进行了测试,它运行良好......你的代码看起来也很合理,所以我认为你的设置可能有问题吗?
答案 1 :(得分:3)
在您的IE7特定设置中可能禁用了Javascript。请参阅此链接如何启用它: http://www.tranexp.com/win/JavaScript-enabling.htm
答案 2 :(得分:2)
可能是因为它正在缓存旧版本的js文件?尝试ctrl-F5
答案 3 :(得分:2)
我猜你在使用其他javascript代码时出错,导致浏览器忽略其他所有内容。
您也可以将该代码更改为 ... onclick =“makeNewWindow();返回false”...... 为了避免混淆
答案 4 :(得分:1)
这可能不是原始问题,但由于我遇到同样的问题,我给出了我的发现,这对其他人有用。
事实上,我只是从Windows资源管理器中打开它来测试HTML,所以我在地址栏中有一个file://
URL。
除了Internet Explorer 7(以及可能更高版本)之外,所有浏览器都可以正常使用
事实上,当我在IE7中打开这个文件时,我得到了一个关于带有脚本的本地文件的安全问题的警报。他们有太多的安全漏洞,他们过于保护......
看来alert()刚刚在本地模式下停用,我找不到安全设置来启用它(不太费力搜索......)。 我终于将文件放在我本地Apache安装的www目录中(使用WampServer 2,但其他发行版可能很好),并通过http://localhost打开它,alert()的行为就可以了......
我还发现地址栏中的javascript:alert("Foo");
刚刚完全停用,这是一种令人愤怒的“设计”选择......这太方便了。
答案 5 :(得分:0)
发布了第一个答案 - 即使用href='javascript:void(0);'
代替href='#
'。在您的情况下,使用href='javascript:yourFunction();'
,它应该工作。 IE似乎优先于href over onclick(其他浏览器不支持)。此外,如果您没有href,则会收到页面未找到错误。