iframe src中的JavaScript函数

时间:2013-06-21 06:49:06

标签: javascript html

我是JavaScript的新手。

我有一个javascript函数,它返回我的国家名称。现在我必须将此值放在iframe的src中。我的JavaScript函数如下:

<script type="text/javascript">
var country = $("#SCountry").val();
function getCountry()
{
   var country = $("#SCountry").val();
   return country;

}
</script>

我正在获取国家/地区值,但无法将其合并到iframe的src中。我的iframe src如下:

src='https://example.com/?country="javascript:getCountry()"'

它不起作用。

5 个答案:

答案 0 :(得分:3)

这将设置iframe的源属性值

<script type="text/javascript">
 var country = $("#SCountry").val();
 document.getElementById("iframeid").setAttribute("src","https://domain.com/country="+country)
 </script>

答案 1 :(得分:3)

您无法直接在iframe src属性中提供javascript代码。

相反,您可以使用下面的Javascript设置iframe的src

<iframe id="frame"></iframe>

<script>
    window.onload = function() {
        document.getElementById('frame').src = 'https://domain.com/?country=' + getCountry();
    }
</script>

在上面的方法中,我们最初没有设置src属性,因为这个IE会出现安全警告。更好地遵循以下方法

<iframe src='/images/spacer.png' onload="this.src = 'https://domain.com/?country=' + getCountry();"></iframe>

<!-- /images/spacer.png meant to be any file. Lesser size is better -->

答案 2 :(得分:2)

您不能简单地将JavaScript放在HTML属性中。它不会被评估。相反,您必须使用JavaScript来操纵DOM元素,即更改其src属性。

<iframe id="myIframe" src=""></iframe>
<script>
    document.getElementById('myIframe').src = 
        'https://domain.com/?country=' + getCountry();
</script>

答案 3 :(得分:1)

$(function(jQuery){
 var aURL = $('#myIframe').attr( "src");
$('#myIframe').attr( "src",aURL+''+"Isreal"/*use getCountry() here*/);
});

可以查看此fiddle

答案 4 :(得分:0)

您可以像这样访问iFrame的“内容”(只需确保为iFrame提供ID)这是一个纯粹的JS解决方案:

document.getElementById("iframe_id").contentDocument.getElementById("destination_id").innerHTML = country ;

您的iFrame标签可能如下所示:
<iframe src='https://domain.com/' id="iframe_id">``</iframe>

用php:

JS:

`document.getElementById('iframe_id').src = 'https://domain.com/?country=' + country;`

iframe中的PHP:

$country = $_POST["country"];
echo $country; // this echo you can use where you want the result to show up.