iframe src中的JavaScript函数

iframe src中的JavaScript函数,javascript,html,Javascript,Html,我是JavaScript新手 我有一个javascript函数,返回我的国家名称。现在我必须把这个值放在iframe的src中。我的JavaScript函数如下所示: <script type="text/javascript"> var country = $("#SCountry").val(); function getCountry() { var country = $("#SCountry").val(); return country; } </sc

我是JavaScript新手

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

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

}
</script>
src='https://example.com/?country="javascript:getCountry()"'
它不起作用。

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

document.getElementById("iframe_id").contentDocument.getElementById("destination_id").innerHTML = country ;
您的iFrame标记可以如下所示:
`

使用php:

JS:

iframe内的PHP:

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

这将设置iframe的源属性值

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

var country=$(“#scontry”).val();
document.getElementById(“iframeid”).setAttribute(“src”,”https://domain.com/country=“+国家)

不能直接在iframe src属性中给出javascript代码

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

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

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

window.onload=函数(){
document.getElementById('frame').src='10〕https://domain.com/?country=“+getCountry();
}
在上述方法中,我们最初并没有设置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 -->

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

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

document.getElementById('myIframe')。src=
'https://domain.com/?country=“+getCountry();

您可以在iFrame中的何处查看此信息

?有什么特别节目吗?iFrame html是什么样子的?你更新了jquery src link吗?我希望只有当所有依赖元素(可能是onload of body)完全加载时,iframeiFrame的src中的查询字符串中的javascript函数值才会被加载。因此,请检查是否调用了getCountry()方法,并在获取iFrame时返回正确的值loaded@AyyappanSekar:我已经可以告诉你,它没有,因为JavaScript没有在HTML属性中计算。从
JavaScript
标记信息:“除非还包含框架/库的标记,否则需要纯JavaScript回答。”感谢所有人。现在使用以下代码完成:window.onload=function(){document.getElementById('frame')。src=''+getCountry();}
<iframe id="myIframe" src=""></iframe>
<script>
    document.getElementById('myIframe').src = 
        'https://domain.com/?country=' + getCountry();
</script>
$(function(jQuery){
 var aURL = $('#myIframe').attr( "src");
$('#myIframe').attr( "src",aURL+''+"Isreal"/*use getCountry() here*/);
});