2016-04-06 51 views
0

我正在嘗試構建在新窗口中打開網頁的kisok應用程序。在新窗口中,我想添加僅允許該網頁的規則。但它接近鉻參數不是開放函數的有效選項。所以如果這個選項是不允許的,我該如何解決這個問題?使用自助服務終端打開新窗口並使用鉻標記

var new_win = gui.Window.open('https://github.com', { 
    kiosk: true, 
    'chromium-args' : '--host-rules="MAP * github.com"' 
}); 

回答

1

您需要window event new-win-policy

function (frame, url, policy) {} 

時發出從這個窗口或孩子的iframe,例如要求一個新的窗口用戶點擊_blank目標的鏈接。

政策符合下列方法的對象:

  • ignore():忽略請求,導航不會發生。
  • forceCurrent():強制的鏈接是可下載的,或開放通過 外部程序
  • forceNewWindow():迫使鏈接到在新窗口
  • 被打開迫使連結在同一幀
  • forceDownload()被打開
  • forceNewPopup():強制在新彈出窗口
  • setNewWindowManifest(m)要打開的鏈接:控制新彈出的窗口 的選項。對象m的格式與 清單格式(例如{"frame" : false})中窗口子字段的格式相同。因爲v0.11.3

代碼如下:

var new_win = gui.Window.open('https://github.com', { kiosk: true }); 
new_win.on('new-win-policy', function (frame, url, policy) { 
    policy.ignore() 
}); 
+0

謝謝,我會看的到。但用戶可以轉到同一個域的新頁面嗎? http://www.example.com/index.html到index2.html? –

+0

我不認爲它有效...它仍然打開一個新窗口... –

+0

它的工作原理,100%,我用它。什麼版本的nwjs?某些版本的nwjs可能有錯誤(在0.13.X版本和某些非常早期的版本中存在一些問題)。請嘗試最新的nwjs或0.12.3。 – VoidVolker