5

我正在这样做但不工作:-

我正在尝试在 iframe 中插入像素,然后将其附加到正文中。

jQuery('#subscribr').append('<iframe>
<script language="javascript" src="http://www.abc/static/st.v2.js"></script>
<script language="javascript">
var ef_event_type="transaction";
var ef_transaction_properties = "ev_ProductViews=1";
/*
 * Do not modify below this line
 */
var ef_segment = "";
var ef_search_segment = "";
var ef_userid="xxxx";
var ef_pixel_host="pixel.abc.net";
var ef_fb_is_app = 0;
effp();
</script>
</iframe>');
enter code here
4

3 回答 3

8

</script>当包含在字符串中时,类似的脚本似乎会中断。一种解决方法可能是通过 dom 操作添加元素:

iframe = $('<iframe>');

var script   = document.createElement("script");
script.type  = "text/javascript";
script.src   = "http://www.abc/static/st.v2.js"; // Or:
script.text  = "Your code here!"

iframe[0].appendChild(script);
iframe.appendTo('#subscribr'))
于 2012-11-30T10:57:11.330 回答
3

这是对我有用的解决方案..

var s = document.createElement("script");
    s.type = "text/javascript";
    s.src = "http://www.abc/static/st.v2.js";
    // Use selector here
    jQuery("#subscribr").append(s);
于 2012-12-01T11:31:31.447 回答
1

工作样本: http: //fiddle.jshell.net/f2x7G/

var doc = null;
   if(iframe.contentDocument) doc = iframe.contentDocument;
   else if(iframe.contentWindow) doc = iframe.contentWindow.document;
   else if(iframe.document) doc = iframe.document;

if(doc == null) throw "Document not initialized";

doc.open();
var script   = doc.createElement("script");
script.type  = "text/javascript";
// script.src = 'http://www.abc/static/st.v2.js';
script.text  = "alert('voila!');"
doc.appendChild(script);
doc.close();
于 2012-11-30T11:19:04.920 回答