js模拟表单提交弹出新窗口被浏览器拦截,如何解决?

JavaScript013

js模拟表单提交弹出新窗口被浏览器拦截,如何解决?,第1张

这个是浏览器设置的问题,应该是启用了弹窗屏蔽;这个有的机器是默认设置的,个人建议不要弹浏览器新tab,你可以通过ajax在后台语言(php,jsp...)控制器里面写方法用后台语言路由到新页面;

首先,每个浏览器的设置的地方都可能不一样,下面以IE、360、谷歌、火狐几个比较常用的浏览器举例说明:一、IE浏览器1、依次选择:工具——Internet选项,如图2、在弹出的窗口中选择“安全”选项卡,再点击“自定义级别按钮”,如图3、然后在弹出的窗口中,拖动滚动条到脚本项,其中有Java小程序脚本和活动脚本,勾选启用或禁用后,依次点击确认重启电脑即可。二、360浏览器1、选择“工具”,然后选择里面的“选项”(注意:不是Internet选项),如下图2、选择“高级设置”——“网页内容高级设置”3、在弹出面板中,Javascript项即可选择允许或不允许运行Javascript,选择完成后点击右侧关闭按钮,退出自动保存选择,选择如图三、谷歌浏览器1、在地址栏输入 chrome://settings ,如下图2、点击最下方的“显示高级设置”3、点击隐私设置中的“内容设置”4、再弹出的面板中选择允许或者不允许Javascript选择好后点击完成即可四、火狐浏览器1、打开浏览器在地址栏输入 about:config ,然后点击“我了解此风险”2、在搜索栏输入 然后第一样默认是true(允许),右键选择“切换”则变成false(不允许)

尊敬的用户,您好!很高兴为您答疑

你的代码包含2部分内容:

1、定义函数部分。

clickOpenWin: function(f){var dataKey = "clickOpenWin.dataKey"var me = $(this)var A = me.data(dataKey)var returnData = nullif(!A){A = $("<A target='_blank' class='proxyA'>")me.data(dataKey, A)A.click(function(e){if(returnData){A.attr("href", returnData)}else {A.before(me)e.stop()}})}me.mouseover(function(){$(this).before(A).appendTo(A)})me.mouseout(function(){A.before($(this))})me.click(function(){A.attr("href", "#|")returnData = f.apply(this, arguments)})}

这些代码定义了一个clickOpenWin函数。该函数完成了一些列打开页面跳转及鼠标事件等操作。你可以包裹在<script></script>之中放置于html文件的前端。

2、

var openLink = $("<a target='_blank'>")openLink.attr('href', 'URL地址')openLink[0].click()

这一部分是对上面定义的函数的调用,为事件触发,也是js脚本。

你也应该包裹于<script></script>之中,并增加触发时机,如:onload、document.ready等方可生效。

希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。