如何更改 iframe src

How to change iframe src

本文关键字:src iframe 何更改      更新时间:2023-09-26

如果我问一些非常基本的问题,请耐心等待,因为我对编码了解不多。我有一个股票图表应用程序,它有一个内置的网络浏览器。我配置了这个浏览器来加载一个html页面,我编码如下,就像这个mypage.html?symbol=xzy,我在这里要做的是捕获提交的html变量'symbol',并将其值用作url字符串的一部分来加载另一个第三方网页的一部分。我无法弄清楚我的 javascript 代码出了什么问题,它无法设置"src"属性的值。任何帮助都非常感谢。

<html>
<header>
<script>
document.getElementById('iframe').src = "http://www.asx.com.au/asx/markets/dividends.do?by=asxCodes&asxCodes="+symbol+"&view=all#dividends";
</script>
</header>
<body>
<div id="dividends"></div>
<iframe id="iframe" src="" style="display:hidden;margin-left: -140px; margin-top: -33px"    scrolling="no" frameborder="no" width="398" height="265"></iframe>
</body>
</html>

尝试将script移动到html之后DOM

<body>
<div id="dividends"></div>
<iframe id="iframe" src="" style="display:hidden;margin-left: -140px; margin-top: -33px"    scrolling="no" frameborder="no" width="398" height="265"></iframe>
</body>
<script>
document.getElementById('iframe').src = "http://www.asx.com.au/asx/markets/dividends.do?by=asxCodes&asxCodes="+symbol+"&view=all#dividends";
</script>

有几件事:1)从执行函数onLoad 开始 - 这样你就知道脚本将在浏览器渲染它之后运行并填充src属性,而不是之前。

2) 使用函数获取 URL 值。

<html>
<header>
<script>
<!-- source: http://javascriptproductivity.blogspot.com/2013/02/get-url-variables-with-javascript.html -->
function GetUrlValue(VarSearch){
    var SearchString = window.location.search.substring(1);
    var VariableArray = SearchString.split('&');
    for(var i = 0; i < VariableArray.length; i++){
        var KeyValuePair = VariableArray[i].split('=');
        if(KeyValuePair[0] == VarSearch){
        return KeyValuePair[1];
        }
    }
}
function SetContent(){
    var symbol = GetUrlValue('symbol');
document.getElementById('iframe').src = "http://www.asx.com.au/asx/markets/dividends.do?by=asxCodes&asxCodes="+symbol+"&view=all#dividends";
}
</script>
</header>
<body onLoad="SetContent();">
<div id="dividends"></div>
<iframe id="iframe" src="" style="display:hidden;margin-left: -140px; margin-top: -33px"    scrolling="no" frameborder="no" width="398" height="265"></iframe>
</body>
</html>

将 javascript 移到页面底部的 iframe 之后。您正在尝试在创建元素之前对其进行更改。最初也做src="about:blank",所以它会验证。