调用Javascript函数的Href链接会打开一个新选项卡,但在Firefox中不起作用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了调用Javascript函数的Href链接会打开一个新选项卡,但在Firefox中不起作用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2225字,纯文字阅读大概需要4分钟。
内容图文
![调用Javascript函数的Href链接会打开一个新选项卡,但在Firefox中不起作用](/upload/InfoBanner/zyjiaocheng/772/b3410765b4a24336b7ec639b9c73a575.jpg)
我正在创建一个在href属性中调用javascript函数的链接:
<a class="product-link" target="_blank" href='javascript:functionToPostParameters("path", "parameters");'><span class="product-name">My Product Link</span></a>
我的功能是:
function functionToPostParameters(path, params) {
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("target", "_blank");
form.setAttribute("action", path);
for (var key in params) {
if (params.hasOwnProperty(key)) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
}
form.submit();
return false;
};
当我在Chrome中使用此链接时,它会调用该函数,提交带有参数的表单并打开一个新选项卡.
在Firefox中,它打开一个新选项卡,然后调用该函数,因为新选项卡不包含该函数,此错误显示在新选项卡的控制台中:
ReferenceError: functionToPostParameters is not defined
href值/ js函数中是否存在错误,导致Firefox以这种方式运行?
欢迎使用任何方法,使用href作为链接.
解决方法:
好的,我找到了问题的原因.
我希望在帖子完成后,它会在新标签中打开.
问题是Firefox需要两件事:
1. Form needs a submit button.
2. Form needs to be appended to body in order to make submit works.
我的函数的新代码:
function functionToPostParameters(path, params) {
var form = document.createElement("form");
form.setAttribute("method", "post");
form.setAttribute("target", "_blank");
form.setAttribute("action", path);
for (var key in params) {
if (params.hasOwnProperty(key)) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
}
var submitButton = document.createElement("input");// NEW
submitButton.setAttribute("type", "submit");// NEW
submitButton.setAttribute("value", "Click");// NEW
form.appendChild(submitButton);// NEW
document.body.appendChild(form); // NEW
form.submit();
};
链接html:
<a class="product-link" target="_self" href="javascript:void(0);" onclick="javascript:functionToPostParameters('path', 'parameters');"><span class="product-name"> My product Link </span> </a>
希望它对其他人有帮助.
内容总结
以上是互联网集市为您收集整理的调用Javascript函数的Href链接会打开一个新选项卡,但在Firefox中不起作用全部内容,希望文章能够帮你解决调用Javascript函数的Href链接会打开一个新选项卡,但在Firefox中不起作用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。