この記事では、JSが傍受することなくWindow.openの実装の解決策について説明します。参照のためにそれを共有してください。特定の分析は次のとおりです。
1。質問:
今日、私がページAJAXリクエストを処理していたとき、私はリクエストを実装した後に新しいページを開きたいと思っていました。JSWindow.openを使用してそれを実装することを考えましたが、最終的にはブラウザによって傍受されました。
2。分析:
Google検索に何かソリューションはありますか?一部の人々は、新しいAタグを作成してクリックをシミュレートすることで達成できると言いますが、テストでは達成できず、ブラウザによってまだ傍受されていることがわかりました。
最後に、妥協ソリューションが見つかりました。これにより、Aタグなしで新しいページを直接交換する効果が得られます。
3。実装コード:
コードコピーは次のとおりです。$ obj.click(function(){
var newtab = window.open( 'about:blank');
$ .ajax({
成功:function(data){
if(data){
//window.open('//www.vevb.com ');
newtab.location.href = "// www.vevb.com";
}
}
})
})
その他の方法:
次のようにコードをコピーします。<script type = "text/javascript">
<! -
$(
関数()
{
//方法1
window.showmodaldialog( "// www.vevb.com/");
window.showmodaldialog( "// www.vevb.com/");
//方法2
var aa = window.open();
setimeout(function(){
aa.location = "// www.vevb.com";
}、100);
var b = window.open();
setimeout(function(){
b.location = "// www.vevb.com";
}、200);
var c = window.open();
setimeout(function(){
c.location = "// www.vevb.com";
}、300);
var d = window.open();
setimeout(function(){
D.Location = "// www.vevb.com";
}、400);
var ee = window.open();
setimeout(function(){
ee.location = "// www.vevb.com";
}、500);
var f = window.open();
setimeout(function(){
f.location = "// www.vevb.com";
}、600);
var g = window.open();
setimeout(function(){
g.location = "// www.vevb.com";
}、700);
var h = window.open();
setimeout(function(){
h.location = "// www.vevb.com";
}、800);
var i = window.open();
setimeout(function(){
i.location = "// www.vevb.com";
}、900);
var j = window.open();
setimeout(function(){
J.Location = "// www.vevb.com";
}、1000);
//方法3
var a = $( "<a href = '// www.vevb.com'ターゲット= '_ blank'> apple </a>").get(0);
var e = document.createevent( 'mousevents');
E.IniteVent( 'Click'、true、true);
a.dispatchevent(e);
var a = $( "<a href = '// www.vevb.com'ターゲット= '_ blank'> apple </a>").get(0);
var e = document.createevent( 'mousevents');
E.IniteVent( 'Click'、true、true);
a.dispatchevent(e);
}
);
//->
</script>
この記事の説明が、JavaScriptに基づいたすべての人のWebプログラミングに役立つことを願っています。