3
有誰知道是否可以在JavaScript中檢測到Chrome因混合內容限制而阻塞了內容?我看到在控制檯中有錯誤消息,但是這似乎並不是一個例外,因爲使用try/catch沒有捕捉任何東西。以編程方式檢測Chrome中的混合內容阻塞
所以問題是,如何檢測內容被封鎖了?
謝謝!
有誰知道是否可以在JavaScript中檢測到Chrome因混合內容限制而阻塞了內容?我看到在控制檯中有錯誤消息,但是這似乎並不是一個例外,因爲使用try/catch沒有捕捉任何東西。以編程方式檢測Chrome中的混合內容阻塞
所以問題是,如何檢測內容被封鎖了?
謝謝!
我有一個類似的方案,其中我盲目地嵌入內部框架,可以是上HTTP或HTTPS域。我發現一個骯髒的解決辦法,做工作,假設有如下:
我評論的代碼,所以很容易理解:
<script type="text/javascript">
$(function() { /* when DOM is fully loaded */
if ("https:" == window.location.protocol)
{ /* we are on the SSL (HTTPS) version of our website */
$.each($("iframe"), function (k, iframe)
{ /* iterate through all iframes */
if ("http:" == $(iframe).attr('src').substring(0, 5))
{ /* there's at least an iframe with non-SSL (HTTP) content (that will be blocked by the browser) */
/* lets redirect user to the non-SSL (HTTP) version of the website */
window.location = window.location.href.replace(/^https:\/\//ig, "http://");
return false;
}
})
}
});
</script>
感謝您的答案。不幸的是,我們不能使用這種方法,因爲我們只使用HTTPS運行我們的網站。 – Stian
您是否嘗試過服務了從一個不安全的域的JavaScript文件,能夠設置全局在'window'對象中變量?邏輯上,如果腳本被阻止,它將不會執行。 – amphetamachine
嗨,感謝您的建議,但不幸的是,我認爲這不是我們的選擇。 – Stian
如果在DOM結構中包含'',那麼使用JavaScript(在DOM就緒狀態下)來獲取它的寬度,如果它爲0,則加載失敗。 TMTOWTDI – amphetamachine