2015-10-27 44 views
0

我想在iframe中添加一個變量,它以Javascript的方式工作,但它不會做我想要的JQuery方式。這是一個jsfiddle爲什麼在iframe中設置變量是以純Javascript方式工作,而不是在Jquery中工作?

純JavaScript方式:

var iframeDocument = $('#iframe')[0].contentWindow.document; 
var scriptObject = iframeDocument.createElement("script"); 
scriptObject.type = "text/javascript"; 
scriptObject.innerHTML = "var variable=9;"; 
iframeDocument.body.appendChild(scriptObject); 

結果是好的,在控制檯(變量設置和等於9和iframe上下文):

enter image description here

,當我嘗試改變值JQuery中的變量:

$('#iframe').contents().find('body').append($('<script type="text/javascript">').html('variable=10;')); 

該va riable在父上下文中加載並且在iframe中沒有更改! enter image description here

我知道Javascript的方式通常比Jquery的方式更好,但我只是想知道爲什麼這不像預期的那樣工作。

+5

http://stackoverflow.com/q/610995/1267304 – DontVoteMeDown

回答

-2

你錯過了</script>,順便說一句,你不能這樣注入。 試試這個:

$('#iframe').contents().find('body').append($('<script type="text/javascript"><\/script>').html('var variable=10;')); 
+1

'$( '')'不關心結束標記 – charlietfl

+0

但是,當它的附加它打印'',它是一種強制縮放的方法,也可以是:'('#'iframe')。contents()。find('body')。append('

相關問題