window openは解決を阻止されました.
1037 ワード
もしウィンドウをイジェクトしたいならば、ブロックされずに、ユーザーがクリックしてからwindow.openを使ってもいいですが、クリックした後に非同期の処理があり、操作が成功したらまたポップアップします.この新しいウィンドウは停止されます.
したがって、処理を変更するためには、クリックした後に空白の新しいウィンドウを開き、非同期処理が終わったらターゲットパスを設定すればいいです.
例えば:
したがって、処理を変更するためには、クリックした後に空白の新しいウィンドウを開き、非同期処理が終わったらターゲットパスを設定すればいいです.
例えば:
tempFunc=function(){
var item=prodGrid.getItem(0);
if(!item)return;
var orderItemId=prodStore.getValue(prodGrid.getItem(0),'purchaseOrderItemId');
var p=window.open('about:blank');
var xhrArgs = {
url: "buyFromPreparation.action?orderItemId="+orderItemId,
load: function(data){
prodStore.save();
prodStore.url='getPpi.action?currentCategory1='+currentCategory1;
prodStore.close();
prodGrid._refresh();
if(!p)alert(" , 。");
p.location='checkOrder.action?orderId='+data;
},
error: function(error) {alert(error);}
};
var d= dojo.xhrGet(xhrArgs);
};