2010-09-17 110 views
10

我想創建一個具有JavaScript特定瀏覽器的網頁。是否可以在javascript中添加瀏覽器代碼

例如:

我可以在網頁上使用這樣的代碼在我的編碼部分

chrome.tab.onRemoved.addListener()

如果可能的話,請給我建議。

+0

你能告訴你到底是想acheive什麼? – Nivas 2010-09-17 13:42:39

+0

我需要抓住標籤關閉或瀏覽器關閉事件,在關閉前詢問客戶反饋。 – 2010-09-17 14:41:05

+0

請參閱下面的答案。 – Nivas 2010-09-17 17:51:08

回答

11

你到底想要達到什麼成績?

如果你想知道你的網頁加載的標籤什麼時候關閉,那麼window.onunload應該可以幫到你。

如果你想知道另一個網頁何時關閉,你不能這樣做。

UPDATE:
你說,你要當用戶關閉瀏覽器或標籤就知道了。這不可能。但爲了您的目的(獲得反饋),我認爲您需要的只是區分用戶是否正在導航到您網頁中的鏈接,或者用戶是否正在輸入另一個網址(或通過點擊收藏夾)。

我認爲對於您的需求,用戶是否關閉瀏覽器或是否鍵入另一個URL是相同的 - 用戶正在遠離您的網站導航,並且當時您說您希望收集反饋。

這可以在JavaScript中完成。

對於在你的頁面的所有點擊次數 可能導致頁面刷新 (超鏈接,按鈕,...),設置一個標誌。
window.onunload中,檢查是否設置了 這個標誌。
- 如果已設置,則 用戶點擊您的 頁面中的鏈接,不執行任何操作。
- 如果該標誌不是 設置,則用戶正在導航, 時間收集反饋。

讓我知道這是否會工作。

PS:請注意,彈出窗口/ window.unload期間的任何干擾可能是非常煩人的。 我明白這可能是給你的要求。但如果可能的話,嘗試其他機制來收集用戶的(自願)反饋。

+0

我只需要知道用戶是關閉頁面還是隻是瀏覽。在window.onunload和window.onbeforeunload中,事件觸發所有導航並關閉事件。我特別需要查找瀏覽器或窗口關閉事件。 – 2010-09-20 03:53:47

+0

我不認爲有可能看到用戶是否關閉窗口。但爲了您的目的,我認爲只需查看用戶是否通過網頁中的某個鏈接進行導航就足夠了,或者用戶是否鍵入了另一個URL(或單擊書籤)以遠離您的頁面。已經用可能的解決方案更新了答案。 – Nivas 2010-09-20 08:09:40

+0

這應該是'自願的'反饋,順便說一句。 – Nivas 2010-09-20 11:30:40

2

不,您無法從網頁訪問擴展特定的API。

1

您可以使用使用onbeforeunload事件:

<html> 
    <head> 
    <script> 

    var exit = 1; 

    function handleClose() 
    {  
     if (exit) 
     { 
      alert("Closing"); 
     } 
    } 

    </script> 
    </head> 
    <body onbeforeunload="handleClose()"> 
    <a href="test.html" onclick="exit=0">Navigate to other page</a> 
    </body> 
</html> 
+0

這是腳本運行的選項卡,它不會告訴您是否另一個選項卡已關閉...... – 2010-09-28 09:36:30

+1

您無法確定某些其他選項卡是否已關閉,與您的站點無關。你不能這樣做,因爲這將是瀏覽器安全漏洞。 – 2010-11-15 16:18:46

相關問題