我需要在每一位完成下載後觸發一段代碼。如果在加載所有內容後注入腳本,該腳本就可以工作,但是如何自動觸發該腳本?
我的腳本是:
var divId = "jwplayer-0_wrapper";
if ($('#' + divId).length == 1) {
myReg = /https?:\/\/www\.youtube\.com\/watch\?v=[^"]+/;
var plainText = $('#' + divId).parent().children('script').text();
var url = plainText.match(myReg);
if (url !== null) {
window.location = url;
};
};
它是用來跳過某些網站,決定使用JW玩家巫婆,我覺得可怕的馬車。因此它會尋找一個帶有JW播放器指示的div,如果有的話,它會找到與原始YouTube視頻的鏈接並直接進入該網站。
它通過谷歌瀏覽器插件命名爲Javascript注入器,並在我訪問的每個頁面上應用該腳本。插件在www.ayoye.co和www.veuxturire.com等網站上運行良好。但在其他使用相同pathern的網站上,腳本似乎過早觸發。例如,www.mondedestars.com和www.lesautos.ca觸發它爲時尚早。
如果我在頁面加載完成後使用Add on的「注入」功能,那麼它會按照預期將我重定向到youtube頁面。我迷失在爲什麼它在某些地方工作而不是其他地方。
我不想在這裏理解每一個網站,我寧願讓它在頁面完成從它的php,ajax,腳本,flash,html和CSS加載之後動態觸發。
我已經試過尋找JWplayer API,但由於它對我來說非常不清楚,因爲它在Flash中的偏愛,如果有一種方法可以觸發它,或者可能只是觸發它在我徘徊在身體後,因爲每個網站都有一個身體。它不能具體到一個頁面。
jQuery document.ready()也不起作用? – DOK
@DOK:'$(document).ready'在**'$(window).load'之前觸發**。 –
通常情況下,jQuery在DOM完全加載之後以及所有資源完全收到之前觸發。這只是一些不同的 - 而且很容易 - 嘗試。 – DOK