[英]SCRIPT5: Access Denied on IE9 due to jQuery.min CDN file in Wordpress
我在SCRIPT5上閱讀了很多其他文章:在IE9中訪問被拒絕的問題,但據我所知,這個有點不同,我不確定為什么會發生這種情況。
在使用標准2011主題的Wordpress 3.4.1安裝中出現了這種情況。 我使用以下函數將我的腳本排入隊列:
function my_scripts(){
wp_deregister_script('jquery');
wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js',null,null,true);
wp_register_script('cycle', 'http://ajax.microsoft.com/ajax/jquery.cycle/2.88/jquery.cycle.all.js',null,null,true);
wp_register_script('plugin', get_stylesheet_directory_uri() . '/scripts/plugin-init.js',null,null,true);
wp_enqueue_script('jquery');
wp_enqueue_script('cycle');
wp_enqueue_script('plugin');
}
首先, jquery
和cycle
腳本都是從CDN中提取的。 plugin
腳本為空,但單個元素上的基本cycle
調用除外。
此時所有瀏覽器都可以正常工作,但IE9除外。 我收到以下錯誤:
SCRIPT5: Access is denied
jquery.min.js, line 2 character 68522
我很快發現這是一個交叉問題:
SCRIPT5:在xmlhttprequest上的IE9中拒絕訪問
我發現這很奇怪,因為我的插件中沒有交叉原點功能。 此問題也出現在jquery
本身而不是我的代碼上。 嘗試了幾個建議的修復,但沒有運氣。
嘗試了一些基本的東西。 將腳本直接移動到頁腳。 嘗試將其直接移動到標題中。 嘗試將我的腳本排除在外。 此時拔掉我的頭發。
我最好的選擇是實際看到導致代碼錯誤的原因(因為我無法在縮小版本上)。 此時代碼直接在頭文件中,因此從腳本中刪除了.min
,進行了刷新,並且TA-DA:現在一切都正常運行。
如果我嘗試使用wp_register_script
和wp_enqueue_script
將未分解的腳本聲明移回my_scripts()
函數,它將再次失敗。 如果我嘗試將未經通知的腳本聲明移動到頁腳中,它將再次失敗。 我當時沒有測試本地副本,只測試了CDN版本。
這是相同的SCRIPT5錯誤,但遺憾的是我沒有錯誤產生的代碼。 前幾天這是在辦公室,我周末休息。 我試圖在我的個人沙箱上重現這些事件,但是在重新創建錯誤方面沒有成功,這讓我相信一些未列出的內容可能是罪魁禍首。
有誰知道這里發生了什么? 為什么jquery.min
會在未通知文件的情況下失敗? 為什么未通報的文件會繼續失敗,除非它直接在<head>
?
很高興提供更多信息,雖然有些信息可能要等到我下周回到工作崗位。 一旦我能夠,我將嘗試發布其余的代碼。
我有同樣的問題,jQuery 1.8.1為我解決了這個問題
出於某種原因,@ axel的答案對我不起作用。 相反,我決定將文件托管在與我的HTML文件相同的服務器上並修復它(至少對我來說)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.