我想獲取安全區域(Internet區域/本地Intranet)的許多URL在同一個域中。我認爲最好的解決方案是通過iFrame獲得這一點。 @Teemu。代碼現在可用。非常感謝你。但目前存在一個問題:它顯示錯誤的文本。雖然頁面位於受信任區域(本地Intranet)中,但他顯示「不受信任」(Internet區域)。任何想法爲什麼?從iFrame獲取內容,錯誤在哪裏?
<html>
<head>
<script type="text/javascript">
function getZone() {
var text = new Array();
document.getElementsByClass('iframeNames');
var test;
for (var i = 0; i < document.frames.length; i++) {
try {
test = document.frame[i].contentWindow.document;
text[i] = "Trusted (Local Intranet)";
} catch (e) {
text[i] = "Untrusted (Internet Zone)";
}
} //end-for
var showText = getElementsByClass("zone");
for (var i = 0; i < showText.length; i++) {
setText(showText[i], text[i]);
};
} //end getZone()
function setText(showText, text) {
showText.innerHTML = text;
} //end setText
if (document.getElementsByClassName) {
getElementsByClass = function (classList, node) {
return (node || document).getElementsByClassName(classList);
};
}
</script>
</head>
<style type="text/css">
tr:nth-child(2n) {
background-color: #ddd;
}
.format {
background-color: #ffff;}
#formatierung {
margin-left: 10px;
margin-top: 30px;
font-family: Arial;
font-size: 13px;
}
</style>
<body>
<iframe src = "http://example.com" class = "iframeNames" width = "0"
height ="0"></iframe>
<iframe src = "http://example.com/index/" class = "iframeNames" width = "0"
height = "0"></iframe>
<script type = "text/javascript">
window.onload = function() {
getZone();
};
</script>
<div id = "formatierung">
<table width = "100%">
<tr class = "format"><td><h2>System</h2></td><td><h2>Check Security-Zone</h2></td></tr>
<tr><td>example1</td><td class = "zone"></td></tr>
<tr><td>example2</td><td class = "zone"></td></tr>
</table>
</div>
</body>
</html>
究竟什麼是行不通的?首先你需要什麼? (我很困惑這是可能的) –
這一行:'value [i] = frames [i] .isTrustedIE()'。 'frames []'是文檔中「窗口」對象的集合。這些集合的成員沒有名爲'isTrustedIE()'的屬性,所以你的腳本會拋出一個異常。 – Teemu
我沒有得到任何安全區域的結果,所以他不顯示任何文本(可信/不可信)。這首先應該迭代iFrames。使用命令frames [i] .isTrustedIE()應該檢查當前URL的安全區域。我不知道這個命令是否正確,在這個聲明中我不確定;)。 – user1860908