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';"
一起使用?
答案 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.
现在您可以重新编写代码:
功能并调用它。 [推荐]
将两个Stmt串联写入。
另一个建议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)上运行。