所以基本上我遇到的問題是我正在爲一個網站一個簡單的小型JS庫,並遇到了一點問題。 該網站託管在使用火箭優化器的cloudflare上。現在我的代碼創建了一個腳本元素,然後它加載的腳本應該調用服務器以保持常量ping,並在此過程中服務器記錄各種信息。這個庫在其他環境中工作,但火箭優化器正在殺死它。在JS中調用本地方法時,它們超載
var dd = document, ll = dd.createElement('script'), ss = dd.getElementsByTagName('script')[0];
ll.type = 'text/javascript'; ll.async = true;
ll.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + serverDomain + "/alive?" + params;
ss.parentNode.insertBefore(ll, ss);
現在我遇到的問題是真的很簡單,在rocket.js圖書館從我可以告訴,超負荷使用document.createElement有自己的整齊的功能,這在腳本標記的情況下,給出了一個傳統腳本標記的「關閉」副本,儘管它爲src屬性定義了setter/getter。設置者所做的不是設置src,而是將其放入data-rocketsrc中,然後由火箭優化器處理這個數據 - rocketsrc,然後將其傳遞迴頁面服務器,然後將所有對我的服務器的調用傳回去結果。
這導致我正在追蹤和做的事情,以徹底走出各種不同的主題原因的窗口。
現在我一直在試圖找到方法來獲取原始的createElement的圖片,但問題是,因爲rocket.js首先被加載,並且目前看來我沒有辦法讓我的腳本有優先權,我有點難以解決這個問題。可能重做我自己的createElement方法的想法是一個想法,但我寧願避免,因爲它增加了我發送的內容,而且它看起來像是我不應該發送的內容。
任何想法和援助將不勝感激。
你可以在chrome中重寫'document.createElement',我懷疑你也可以爲大多數瀏覽器做。 – Ben
我同意本,它可以做到,因爲當我使用鉻的開發工具,並嘗試步入createElement函數,它直接跳轉到rocket.js – Shadowmancer