如何改变iframe src

时间:2014-12-29 02:00:41

标签: javascript html iframe

如果我问的是非常基本的东西,请跟我说,因为我对编码知之甚少。我有一个股票图表应用程序,它有一个内置的Web浏览器。我配置这个浏览器加载一个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>

3 个答案:

答案 0 :(得分:1)

尝试在html script

之后移动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 :(得分:0)

在iframe之后将javascript移动到页面底部。您正在尝试在创建元素之前更改它。最初也要做src =“about:blank”,因此它会验证。

答案 2 :(得分:0)

一些事情: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>