代码之家  ›  专栏  ›  技术社区  ›  Daniel F. Thornton

标签浏览导致javascript不一致?

  •  0
  • Daniel F. Thornton  · 技术社区  · 15 年前

    在带选项卡的浏览器中(对于我来说是3.5英寸),我经常用ctrl-click或middle-click打开新选项卡中的链接。当链接包含javascript函数时,可以是:

    • 打开一个空白的新选项卡 javascript:window.print() 或者你在地址栏里有什么。
    • 函数执行成功 将打开一个空白的新选项卡。

    问题是,对于所有的javascript函数,这似乎并不是始终如一的。例如:

    1. “打印”按钮打开 this page 单击ctrl时,打开打印对话框并生成一个空的新选项卡。
    2. 白皮书链接 this page ,单击ctrl时,只生成一个空的新选项卡。

    相关链接分别包含以下代码:

    1. javascript:window.print();
    2. javascript:_hbRedirect('PDF Downloads','White Paper','URL.pdf','&c1=TITLE|US-en')

    This SO question 有点相似。最佳答案详细描述了一个基于Ajax的解决方案,但我找不到解释为什么有些JavaScript函数在选项卡上的行为与其他函数不同。

    2 回复  |  直到 15 年前
        1
  •  1
  •   Eli Grey    15 年前

    这是因为 window.print() 默认情况下已定义,因此通常调用它。

    这个 javascript:_hbRedirect('PDF Downloads','White Paper','URL.pdf','&c1=TITLE|US-en') Link调用未定义的函数,因此不会发生任何事情。

        2
  •  1
  •   dutch    15 年前

    JavaScript不应该与XHTML混合使用。让链接的href属性只是要链接到的页面或文档。如果要对标记执行特殊操作,请使用事件注册。

    La MOOToots:

    a.addEvent ('click', function (e) {
    
    });