0
我試圖創建一個實時通知腳本,其中每次在我的文件中找到某個文本時,它都會播放聲音。這是我已經試過:jQuery未捕獲RangeError:使用setTimeout時超出最大調用堆棧大小
<script type="text/javascript" src="jquery-2.1.3.min.js"></script>
<script type="text/javascript">
function getTextfile() {
$.get('myfile.txt', { cache:false }, function(data) {
if (data.indexOf("Hello World") > -1) {
document.write("Hello World is found");
var audio = new Audio('wb.wav');
audio.play();
} else {
document.write("It's NOT found");
var audio = new Audio('wn.wav');
audio.play();
}
setTimeout(getTextfile, 1000);
},'text');
}
getTextfile();
</script>
而且myfile.txt
看起來是這樣的:
Line one
line two
Hello World
line four
但在我的chrome瀏覽器我得到這個錯誤:
Uncaught RangeError: Maximum call stack size exceeded`
myfile.txt
動態變化,因此每次找到正在查找的文本時都應該播放不同的聲音,或者如果我不必刷新瀏覽器就不會找到它。我該如何解決這個問題?
你有沒有試過增加超時延遲? –
這與問題無關,但請注意,您正在將'cache:false'作爲參數發送給請求,而不是停止jQuery緩存響應。如果你想停止緩存,使用'$ .ajax'並設置'cache:false',或者在$ .get'請求前調用'$ .ajaxSetup([cache:false})''。 –
wm.wav和wb.wav文件的大小是多少?你嘗試沒有加載這些文件的行嗎? –