[英]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.