2010-11-08 81 views
3

我希望有人可以幫助我在這裏 - 我正在測試一些JavaScript,並在一個while循環中顯示一個警告,以顯示一些變量如何變化,但是...我把它放在錯誤的行,現在的Safari(在Mac上)只是循環警報。有沒有什麼辦法可以在沒有強制退出應用程序的情況下阻止它(當我打開其他窗口時,我不想這樣做)。Safari在測試時陷入了無限循環 - 任何出路?

回答

2

對不起,但沒有。解決這個問題的唯一方法是,如果您可以關閉警報之間的特定選項卡,但如果在關閉該框後立即彈出,則無法執行任何操作。

+0

這就是我的想法。好吧!是的,循環中唯一的是警報,所以它非常直接。 – Mike 2010-11-08 17:15:10

+0

好吧,沒有更多的答覆,它幾乎是時候離開......將不得不關閉它。不管怎麼說,還是要謝謝你! – Mike 2010-11-08 17:42:21

2

我剛剛在OS X Lion的Safari 5.1上遇到了這種情況。經過大量的谷歌搜索後,我無法找到答案。我做了一些周圍挖掘,並找到了解決辦法:

  1. 強制退出Safari
  2. 打開目錄〜/庫/ Safari瀏覽器/擴展
  3. 刪除您的擴展
  4. 打開Safari

我知道這個問題很久以前就被問到了,但它是谷歌「Safari擴展陷入無限循環」的第一個結果,所以我認爲這值得更新。

1

我剛剛有同樣的問題。 我用編輯器編輯了一個文件並連接到了ftp。然後,我在safari中打開了一個標籤,並測試了該文件 - >我陷入了無限的警戒循環。所以,我做了什麼

  • 強制退出Safari瀏覽器(該解決方案將導致只有在有關文件是在網上,而不是本地工作)(Safari瀏覽器設置必須付諸記住 標籤)
  • 比關閉WLAN連接
  • 打開瀏覽器,關閉「無限循環造成」選項卡,並再次退出Safari
  • 開啓WLAN,開啓瀏覽器,
+0

我認爲這是最聰明的解決方案。我打了一個惡意軟件網站,這讓我陷入了無限的警戒環境,但Safari已經緩存了它,所以即使關閉我的網絡也是不夠的。在重新打開Safari之前,我拋棄了'〜/ Library/Caches/com.apple.Safari',然後我可以關閉違規標籤。 – duozmo 2015-03-04 18:17:03

8

我能夠通過單擊警報(或按下Enter鍵)上的「確定」關閉選項卡,然後立即按​​。注意:需要多次嘗試才能使時機恰到好處。

然後,在我的情況下,彈出一個確認提醒,詢問我是否確定要導航離開該頁面。然後,循環警報彈出。因此,我將循環警報定位在確認警報的頂部,以便循環警報的「確定」按鈕直接位於確認警報的「確定」按鈕上方。然後,我在「確定」(OK)按鈕上雙擊(非常快)(您也可以嘗試雙擊輸入)來關閉這兩個警報。

+0

這對我有用。非常感謝! – Emmanuel 2014-12-02 18:07:14

0

在谷歌瀏覽器上試用此功能。他們擁有與Safari相同的瀏覽器引擎。如果他們有這個問題,他們一定早就解決了。爲什麼蘋果沒有人不與Google溝通來解決這個問題?

你需要看看在這兩個瀏覽器的request.servervariable是HTTP_USER_AGENT

0

要添加到我以前在這裏的評論是請求的結果。servervariable變量HTTP_USER_AGENT:

鉻:

的Mozilla/5.0(Windows NT的6.1)爲AppleWebKit/537.36(KHTML,例如Gecko)鉻/ 31.0.1650.63 Safari瀏覽器/ 537.36

Safari中:

Mozilla的/5.0(Windows NT 6.1)AppleWebKit/534.57.2(KHTML,如Gecko)版本/ 5.1.7 Safari/534.57.2

您可能會注意到正在使用的AppleWebkit的差異。就像我說的,無論Google是否遇到了這個問題並解決了這個問題,或者蘋果都讓這個bug在它的瀏覽器的更高版本中蔓延。需要我多說?

2

順便說一句,FireFox會自動提示你重複彈出,你可以說「不」。爲什麼Safari不這樣做?

我已經嘗試了很多方法來在Safari中停止此操作。您在這裏討論的問題也是網頁的一個非常愚蠢的漏洞,它們使用pageUnload事件通過對話框來捕獲用戶。

您將不得不強制退出。但是,再次打開Safari時按住Shift鍵可以防止加載最後一頁。或者,重新發布/重新保存您的代碼,以便在Safari加載頁面時,您首先不會遇到此問題。

未來,請勿使用alart()來查看此類信息,只需將它寫出到您網頁上的空白div即可。

在jQuery中,在你的循環代碼做到這一點:

$('#testDiv').html('myVarA = ' + myVarA + ' myVarB = ' + myVarB + '<br>'); //write variables to test div. 

$('#testDiv').append('myVarA = ' + myVarA + ' myVarB = ' + myVarB + '<br>'); //append variables to test div, with a line break. 

,並添加到您的網頁:

<div id="testDiv">Test Results Here</div> 

通過編寫變量出來的DIV,你不僅可以觀察變量,你將避免彈出循環,你將能夠與你的動態正常頁面根據需要使用「html」或「append」。

+0

Safari會在您重新打開標籤頁時強制退出,並提供打開乾淨的瀏覽器的功能。不幸的是,它不會讓你挑選標籤。 – duozmo 2015-03-04 18:12:52

0

HALELUYAH I feel like a IDIOT。這也發生在我身上。快速修復:右鍵單擊警告框,將其移至右上角並將(x)按鈕與瀏覽器窗口的按鈕對齊。雙擊。它會再彈出一次,但再次彈出(x),它會關閉Safari。在Windows上工作。

0

我只是在Safari 8(優勝美地)無限循環中卡住了。殺Safari瀏覽器並沒有幫助,因爲當Safari再次啓動時該選項卡會重新打開。

封閉的Safari,刪除~/Library/Safari/LastSession.plist並再次啓動Safari。沒有以前的標籤重新打開,問題解決!