2011-08-19 98 views
0

有人可以帮我解决这个问题。我无法弄清楚我出错的地方。 javascript变量不会替换src。将javascript变量传递给iframe src

P.S.这应该作为谷歌浏览器扩展程序运行。

<html> 
    <head> 
     <script type="text/javascript"> 
      function convert() 
      { 
      var url4="test" 
      document.getElementById("link").src=url4; 
      } 
     </script> 
    </head> 
    <body onload="convert()"> 
     <iframe src="wwwx" id="link" width="100%" height="300"> 
      <p>Your browser does not support iframes.</p> 
     </iframe> 
    </body> 
</html> 
+0

请告诉我不工作? src属性应该是一个url。 –

+0

这似乎实际工作:http://jsfiddle.net/XE7Wu/1/ – arnaud576875

+0

它似乎工作:http://jsfiddle.net/pimvdb/VkbHw/。 – pimvdb

回答

-1

由于JavaScript在位于DOM之前正在运行,因此它将永远无法访问它。

尝试就在iframe之后,但在</body>标记之前将您的JS:

<html> 
    <head></head> 
    <body> 
    <iframe src="wwwx" id="link" width="100%" height="300"> 
     <p>Your browser does not support iframes.</p> 
    </iframe> 
    <script> 
    function convert() { 
     var url4 = "test"; 
     document.getElementById("link").src=url4; 
    } 

    convert(); 
    </script> 
    </body> 
</html> 
+0

不,函数是呼吁加载。 – arnaud576875

+0

这是不正确的。该函数在'onload'中执行,它是在加载完所有东西之后,包括DOM。 – pimvdb

+0

不应使用机身装载。此外,我发布的代码作品。如果没有对语言的明确理解,请不要投票。 –