Firefox中的href = javascript:function()无法正常工作

jer*_*yok 4 html javascript firefox

我尝试a href=javascript:function()在具有功能的按钮中使用它。它可以在Chrome中使用,但不能在Firefox中使用。

Firefox不会警告并打开空白选项卡。

有人可以帮助我吗?

<script>
function verifyisbot() {
alert("test."); 
var win = window.open("http://yahoo.com", '_blank');
win.focus();
}
</script>
Run Code Online (Sandbox Code Playgroud)

下面是按钮代码

<div class="frb_textcenter">
<a  target="_blank" class="frb_button frb_round  frb_center frb_fullwidth" href="Javascript:verifyisbot();">
click here
</a>
</div>
Run Code Online (Sandbox Code Playgroud)

更新资料

我应该添加的是,我在wordpress中使用实时编辑器(profitbuilder)来生成页面和按钮。我没有区域向按钮插入其他javascript onclick函数。所以我想在实时编辑器中使用“ ahref”空白字段来输入javascript调用函数以启动该函数。

我有什么办法可以通过ahref而不使用onclick事件来完成此工作?或者我可以在ahref字段中指定onclick函数吗?

抱歉,test()实际上是verifybot()函数,输入错误

Fin*_*sse 5

您可以仅使用href属性来实现目标:

<a href="javascript:void(verifyisbot())" class="frb_button frb_round frb_center frb_fullwidth">
  click here
</a>
Run Code Online (Sandbox Code Playgroud)

它之所以有效,是因为当浏览器遵循javascript:URI时,它将评估URI中的代码,然后用返回的值替换页面的内容,除非返回的值为undefined。该void操作符可以用来恢复undefined


Her*_*key 0

认真考虑将 JavaScript 和 HTML 分开,这样问题就会消失。例如,向锚点添加 ID 并通过脚本添加事件处理程序:

<div class="frb_textcenter">
  <a id="verify" target="_blank" class="frb_button frb_round  frb_center frb_fullwidth" href="http://yahoo.com">
    click here
  </a>
</div>
Run Code Online (Sandbox Code Playgroud)

之后...

<script>
function test() {
  alert("test."); 
  var win = window.open("http://yahoo.com", '_blank');
  win.focus();
}
window.onload = function () { 
  document.getElementById('verify').addEventListener('click', test); 
};
</script>
Run Code Online (Sandbox Code Playgroud)

请注意,通过提供的示例,您实际上根本不需要 JavaScript。HTML 本身将导致使用 Yahoo! 打开一个新窗口/选项卡。已加载...