2012-03-17 79 views
0

我编写了一些JavaScript来在用户滚动时移动广告条。但是,它的工作正常,除了Internet Explorer之外的所有浏览器......看起来像我的JS甚至没有开始... 我使用的是最新的IE9。JavaScript未在Internet Explorer中运行

如何我调用它:

<html> 
<head> 
    <script src="./js/move-it.js" type="text/javascript"></script> 
</head> 
<body> 
    ... 
    <div id="bird"> 
    <iframe ...>...</iframe> 
    </div> 
    <script type="text/javascript"> 
    start(); // method in move-it.js 
    </script> 
</body> 

网站:http://lolkitten.org

顺便说一句,谁能告诉我如何防止旗帜撞到我的页脚在一个不错的方式?我试图把一个div作为“塞子”放在较低广告的上方,并使用它的“偏移顶”属性,但我想它总是给我一个太小的值,即它保持崩溃...... -.-

欢呼声

+0

我无法在http://lolkitten.org/wp-content/themes/lolkitten/js/move-it.js – 2012-03-17 14:39:00

+0

中的任何地方看到名为start()的函数包含move-it.js man ... – user577898 2012-03-17 14:39:50

+0

@Matt,但它仍然在另一个web浏览器上运行。 – user577898 2012-03-17 14:41:04

回答

3

我设法让它现在工作。 问题是IE不允许在JavaScript中使用const修饰符。我只是将它们更改为var,它工作得很好。

+0

为什么downvote? IE(至少<= 9)不会与'const'相处。尝试一下,如果你不喜欢我,请留下评论! :/ – 2013-12-03 15:03:03

+0

你真的痴迷于投票的东西,不是吗?放轻松,它可能会导致你心脏病发作:) – dariush 2014-08-25 11:25:03

+0

我不关心那些-2虚构的互联网点。只是下调表示某人认为答案是不正确的,在这种情况下,他们应该解释为什么这会启发我们其他人。我仍然非常确定上面的陈述是正确的,但是如果没有,我会*真的*想知道为什么不了解细节。 – 2014-08-25 14:20:20

0
  1. 在工具菜单上,单击Internet选项,然后单击安全选项卡。
  2. 单击Internet区域。
  3. 如果您不必自定义Internet安全设置,请单击默认级别。然后执行步骤4
    如果您必须自定义Internet安全设置,请执行以下步骤:

    a。点击自定义级别。 b。在“安全设置 - Internet区域”对话框中,单击“脚本”部分中的“对活动脚本进行启用”。

  4. 单击返回按钮返回上一页,然后单击刷新按钮运行脚本。

+0

它已经启用,但仍然不工作... – 2012-03-18 10:16:25

+0

不工作.... – Tanuki 2017-10-26 06:44:16

2

IE,所有版本都不容忍PHP程序员犯的常见错误。这里是不是IE接受的,对所有的功能JavaScript语法的列表,包括AJAX:

(这些IE JavaScript语法错误并不在Opera,Chrome和Firefox的错误)

  1. 您不能设置函数声明参数function thisFunction(something='x'){ thingy.here;}中的默认变量值是不允许的,并且将在调用thisFunction()时作为未声明的函数进行读取。

  2. 将对象作为函数参数传递可能会有意想不到的结果:function(someObject)可能会或可能不会取决于上下文。

  3. 未声明的变量停止脚本

  4. event.preventDefault();不能被调用的函数内被调用,并且将停止脚本

  5. event.preventDefault();必须首先声明,在之前所有其它功能时参考..这在其他浏览器上不是这样。所以IE必须默认异步运行...

    当PHP程序员第一次学习享受JavaScript的同步特性作为第一课的语言时,可能不会出现这种情况。当直接放入一个链接

    onclick="function() { 
        if(typeof someFunction === 'function') { 
         event.preventDefault(); 
         someFunction('anyParameter'); 
        };" 
    

    当您使用页面上的相同的代码,不执行或声明的标签这个例子没有在“一个”标签的工作(不工作)函数someFunction()。多浪费时间!

  6. onclick='clickChild(this);'在IE上不起作用...我不知道为什么。它实际上会阻止一个包含的链接并且什么也不会发生。似乎与上述的仅作为事件引用中的第一个函数的preventDefault的行为相矛盾,并且如果不先调用,则将遵循包含链接。所以IE中的逻辑不一致。 ---截至今天,2017年1月21日,在今天的Google Chrome更新中,上述功能在Chrome中也不起作用。

在窗体中,“按钮”标记不会正确返回表单提交的值。这可能会在新的IE版本中修复,或者可能不会。对于我当前的项目:yad1.org,按钮标记是多语言提交按钮名称所必需的,这些按钮名称对所有语言都要求相同的值。

结论: IE应该从Windows中删除,并永远被遗忘。

真正浪费时间调试。 IE需要与Javascript的程序员友好世界取得联系。

相关问题