Mozilla 中的 iFrame URL
iFrame URL in Mozilla
我需要有关在 mozilla 中获取 URL iFrame 元素的帮助。虽然此代码在 IE 中完美运行,但在 mozilla 中却无法运行。
<iframe id="frame" onload="myFunction()" src="./upload/" ></iframe>
<script type="text/javascript" >
function myFunction()
{
var a = document.getElementById("frame").contentWindow.location.href;
alert(a)
}
</script>
你能告诉我如何让它在 mozilla 中运行吗?
我不需要 iframe 的 src,但根据 iframe 位置更改 URL。网页和 iframe 内容都在同一个域中。
我发现这两个代码只能在 IE 中完美运行:
document.getElementById("frame").contentWindow.location.href;
document.frames['frame'].location.pathname;
此外 location.pathname
和 location.href
没有 iframe 也可以在 chrome 和 mozilla 中工作。但是,如果我添加 document.getElementById("frame")
或 document.frames['frame']
它会在 chrome 和 mozilla 中停止工作。
你的代码,我在 FireFox 52.0.1 和 IE 11 中测试过。
<iframe id="frame" onload="myFunction()" src="" ></iframe>
<script type="text/javascript">
window.addEventListener("load", function(){
document.getElementById('frame').onload = myFunction;
});
function myFunction() {
var a = document.getElementById("frame").src;
var parser = document.createElement('a');
parser.href = a;
parser.protocol; // => "http:"
parser.hostname; // => "whosebug.com"
parser.port; // => "80"
parser.pathname; // => "/questions/42905168/iframe-url-in-mozilla/42905409"
parser.search; // => ""
parser.hash; // => ""
parser.host; // => "Whosebug:80"
alert(a);
}
</script>
IE 无法通过 Javascript 识别 onload 事件,这是一个有趣的问题。
获取src
window.addEventListener("load", function(){
alert(document.getElementById("frameid").src);
});
添加 window.addEventListener
以确保 DOM 已完全加载。
设置src document.getElementById('frameid').setAttribute("src",someurlhere);
我需要有关在 mozilla 中获取 URL iFrame 元素的帮助。虽然此代码在 IE 中完美运行,但在 mozilla 中却无法运行。
<iframe id="frame" onload="myFunction()" src="./upload/" ></iframe>
<script type="text/javascript" >
function myFunction()
{
var a = document.getElementById("frame").contentWindow.location.href;
alert(a)
}
</script>
你能告诉我如何让它在 mozilla 中运行吗? 我不需要 iframe 的 src,但根据 iframe 位置更改 URL。网页和 iframe 内容都在同一个域中。
我发现这两个代码只能在 IE 中完美运行:
document.getElementById("frame").contentWindow.location.href;
document.frames['frame'].location.pathname;
此外 location.pathname
和 location.href
没有 iframe 也可以在 chrome 和 mozilla 中工作。但是,如果我添加 document.getElementById("frame")
或 document.frames['frame']
它会在 chrome 和 mozilla 中停止工作。
你的代码,我在 FireFox 52.0.1 和 IE 11 中测试过。
<iframe id="frame" onload="myFunction()" src="" ></iframe>
<script type="text/javascript">
window.addEventListener("load", function(){
document.getElementById('frame').onload = myFunction;
});
function myFunction() {
var a = document.getElementById("frame").src;
var parser = document.createElement('a');
parser.href = a;
parser.protocol; // => "http:"
parser.hostname; // => "whosebug.com"
parser.port; // => "80"
parser.pathname; // => "/questions/42905168/iframe-url-in-mozilla/42905409"
parser.search; // => ""
parser.hash; // => ""
parser.host; // => "Whosebug:80"
alert(a);
}
</script>
IE 无法通过 Javascript 识别 onload 事件,这是一个有趣的问题。
获取src
window.addEventListener("load", function(){
alert(document.getElementById("frameid").src);
});
添加 window.addEventListener
以确保 DOM 已完全加载。
设置src document.getElementById('frameid').setAttribute("src",someurlhere);