簡體   English   中英

如何使用javascript關閉firefox中的窗口?

[英]How to close window in firefox using javascript?

我使用top.window.close()來關閉父窗口,但它在Mozilla firefox中不起作用。請建議替代方案。 上面的代碼適用於IE6。

來自MDC

僅允許對使用window.open方法由腳本打開的窗口調用此方法。 如果腳本未打開窗口,則JavaScript控制台中將顯示以下錯誤:腳本可能無法關閉腳本未打開的窗口。

因此,如果您嘗試打開彈出窗口並打算稍后關閉它,則需要從JavaScript執行此操作,而不是使用鏈接的target屬性,根據文檔。 但是,看起來使用target="_blank"target="foo"打開的窗口實際上是關閉的(在Firefox 3.6.13上嘗試過)。

但是,無論您做什么,都無法關閉用戶使用“新建選項卡/窗口”直接打開的窗口/選項卡(至少在默認瀏覽器設置下)。

請注意,您可以通過在about:config dom.allow_scripts_to_close_windows設置為true來告訴Firefox允許window.close

bug 190515中進一步討論了使用window.close的能力。

這就是我正在使用的:

<head>
<script language="javascript" >
function ddd() {

netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserWrite");

window.open('http://www.google.com','mywindow','width=400,height=200');
window.close();
}
</script> 
</head>
<body>
<input type= "button" name="new" value="New Window" onClick="ddd()">
</body>

如果您使用的是firefox配置文件,您將能夠實現它。 一旦在firefox配置文件中更新它,它允許關閉firefox,使用相同的配置文件打開它。

echo 'user_pref("dom.allow_scripts_to_close_windows", true);' >> $MOZILLA_PROFILE_DIR/prefs.js

它也適用於你在user.js中添加它(需要在firefox配置文件目錄中創建它)。

touch $MOZILLA_PROFILE_DIR/user.js
echo 'user_pref("dom.allow_scripts_to_close_windows", true);' >> $MOZILLA_PROFILE_DIR/user.js

然后使用配置文件啟動您的Firefox。 您可以使用javascript window.close()關閉窗口

記住:沒有這個你不能使用window.open()關閉你沒有打開的窗口

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM