2014-10-27 60 views
0

所以我有一個小腳本似乎只能在Chrome中正常工作。這不是一個大問題,但它在其他瀏覽器中的負面影響令人討厭,所以我只想在Chrome中運行它。只能在Chrome中運行JavaScript

這是我在所有瀏覽器中運行當前工作的腳本:

function psn() { 
var myElement = document.getElementById('noti'); 
if(window.addEventListener) { 
    // Normal browsers 
    myElement.addEventListener('DOMSubtreeModified', contentChanged, false); 
} else 
    if(window.attachEvent) { 
     // IE 
     myElement.attachEvent('DOMSubtreeModified', contentChanged); 
    } 
function contentChanged() { 
    // this function will run each time the content of the DIV changes 
     document.getElementById('audiotag1').play(); 
     var vid = document.getElementById("audiotag1"); 
vid.volume = 1; 


}} 
setTimeout(function() {psn()}, 2000); 

而這就是我試過已經使它只在Chrome中,這使得腳本停止工作都在一起運行:

function psn() { 
var myElement = document.getElementById('noti'); 
if(window.addEventListener) { 
    // Normal browsers 
    myElement.addEventListener('DOMSubtreeModified', contentChanged, false); 
} else 
    if(window.attachEvent) { 
     // IE 
     myElement.attachEvent('DOMSubtreeModified', contentChanged); 
    } 
function contentChanged() { 
    // this function will run each time the content of the DIV changes 
     document.getElementById('audiotag1').play(); 
     var vid = document.getElementById("audiotag1"); 
vid.volume = 1; 


}} 
var isChrome = !!window.chrome; 
if (isChrome) { 

setTimeout(function() {psn()}, 2000); 
} 

任何人都知道爲什麼這只是完全停止一切?

+0

**警告!這是一個附註**爲什麼'setTimeout(psn,2000);'?也許你可以編輯你的腳本在大多數瀏覽器中工作...檢查只是鉻不是一個好習慣。你的腳本只能在3個瀏覽器中工作纔有意義。 – Cilan 2014-10-27 12:26:26

+0

你從哪裏得到'window.chrome'?你應該嘗試:var isChrome = navigator.userAgent.toLowerCase()。indexOf(「chrome」)> = 0? true:false;' – somethinghere 2014-10-27 12:27:02

+0

實際上,'window.chrome'比瀏覽器嗅探更可靠。 – blockhead 2014-10-27 12:29:40

回答

-1

最好是沒有做具體的瀏覽器檢測,但是看到一個簡單的方法,如果你使用的是Chrome或不如下:

var isChrome = navigator.userAgent.toLowerCase().indexOf("chrome") >= 0 ? true : false; 

這將填充isChrome與false要麼true

+0

這不會檢測到在iOS下運行的Chrome瀏覽器。 「Chrome」一詞不會出現在userAgent字符串中。 – 2014-10-27 12:35:44

+1

@RandyMinder那是因爲iOS下的Chrome瀏覽器真的是Chrome瀏覽器,因此無論如何都不支持Chrome的特定功能。他們是與不同的前端和谷歌服務的Safari瀏覽器。 – somethinghere 2014-10-27 12:36:32

+0

無論如何,該網站的移動版本將完全不同,所以這對我的需求是完美的。多謝,夥計 – 2014-10-27 16:44:33