元芳怎么了
2019-05-31 11:16:36
關(guān)閉和自動關(guān)閉不關(guān)閉Chrome中的窗口問題是當(dāng)我調(diào)用window.close()或self.close()它不能關(guān)上窗戶?,F(xiàn)在似乎有人相信,在Chrome中,任何不是腳本創(chuàng)建的窗口都不能通過腳本關(guān)閉。這顯然是錯誤的,但不管它是否應(yīng)該仍然這樣做,即使它需要彈出一個警報來確認(rèn)。這些都不會發(fā)生。那么,是否有人有真正的、實(shí)用的、行之有效的關(guān)閉窗口的方法,比如javascript:window.close()或javascript:self.close()這實(shí)際上做了預(yù)期的事情,并且在每一個不是基于Chrome的瀏覽器上都發(fā)生了很好的事情?任何建議都將不勝感激,我正在尋找Javascript特定的解決方案,而不是JQuery或第三方實(shí)現(xiàn)。最新情況:雖然許多建議都有嚴(yán)重的局限性和可用性問題,但最新的建議(特定于TamperMonkey)使用// @grant window.close在腳本中,即使在那些通常無法處理Close方法的選項(xiàng)卡上,標(biāo)頭也經(jīng)常會執(zhí)行此操作。雖然不是完全理想的,也不是每一種情況,但在我的情況下,它是一個很好的解決方案。
3 回答

幕布斯6054654
TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超7個贊
Chrome修復(fù)了36.0.1985.125版的安全問題
從我的觀察來看,這個更新解決了使用window.close()
關(guān)閉彈出窗口。當(dāng)控制臺失敗時,您將在控制臺中看到這一點(diǎn),“腳本只能關(guān)閉它打開的窗口。”這意味著令人討厭的解決辦法(布羅克·亞當(dāng)斯的回答)可能不起作用在最新的版本中。
因此,在之前發(fā)布的Chrome版本中,下面的代碼塊可能工作,但與此更新沒有關(guān)系。
window.open('',?'_self',?'');window.close();
對于此更新,您必須相應(yīng)地更新代碼以關(guān)閉彈出窗口。解決方案之一是獲取彈出窗口id并使用
chrome.windows.remove(integer?windowId,?function?callback)
方法來移除它。我不得不更新我的代碼,以使它為這個Chrome更新工作。順便說一句,MarkView是讀寫AweseMarkdown文件的工具,它提供了包括內(nèi)容大綱、可排序表和帶有行號的代碼塊語法高亮的功能。

慕村9548890
TA貢獻(xiàn)1884條經(jīng)驗(yàn) 獲得超4個贊
// @grant window.close
window.close();
添加回答
舉報
0/150
提交
取消