为什么<a href="javascript:&#34;text&#34;;"> not work?</a>

时间:2011-09-01 02:21:28

标签: javascript html url protocols standards

href标记可以包含JavaScript协议的“链接”。例如:

<a href='javascript:alert("Hello World");'>Click</a>

点击该链接会运行href标记值中指定的JavaScript代码。

我们也可以通过直接在浏览器的URL栏中输入href标记的值来测试它。试一试,在网址栏中输入javascript:alert("Hello World");,然后按 Enter

因此上面的代码按预期工作。 但是javascript:"text"不起作用:

<a href='javascript:"Hello World";'>Click</a> 

当我点击链接(JSFiddler; G-Host)时,它 nothing

如果我们直接在网址栏中输入Hello World,则页面内容不会替换为文本javascript:"Hello World" ,因为它本来是。尝试直接在URL栏中输入。

这是一个错误吗?

为什么href无法与"javascript:'text';"一起使用?

2 个答案:

答案 0 :(得分:-1)

你的假设在这里不正确。

要打开一个写有asd的文档,你应该打开一个新窗口并在那里写入req文本“asd”。就像:

winHandler = window.open("_blank","","");     //Opens a new blank window and is handled by winHandler
winHandler.document.write("asd");    //Writes some text to window opened.

现在您可以重新编写代码:

  1. 功能并调用它。 [推荐]

  2. 将两个Stmt串联写入。

  3. 另一个建议href期望其他人建议使用某个网址,因此请使用调用或触发该功能的JavaScript事件处理程序onclick。 E.g:

    <script>
         function openWin(){
             winHandler = window.open("_blank","","");     //Opens a new blank window and is handled by winHandler
             winHandler.document.write("asd");    //Writes some text to window opened.
         }
    </script>     
    <a href='#' onclick="openWin()">a</a>
    

答案 1 :(得分:-2)

现在以某种方式运行代码,在(JSFiddler; G-Host)上进行测试:

  • Chrome(39.0.2171.95)

  • FireFox(33.0.2)

  • IE-8(8.0.6001.18702IC)

  • Opera(12.16)

(所以if it had been due to a browser bug,这个错误似乎已得到修复。)

虽然仍然无法在Safari(5.1.7)上运行。