鍍金池/ 問答/HTML/ iframe內(nèi)部添加的<script>標(biāo)簽中的js不執(zhí)行?

iframe內(nèi)部添加的<script>標(biāo)簽中的js不執(zhí)行?

我創(chuàng)建了一個iframe元素添加到了頁面中,同時將獲取的html內(nèi)容跟js腳本添加進(jìn)iframe的body中,但是script中的腳本并不會執(zhí)行,這是瀏覽器中iframe的安全策略嗎?有辦法讓script中的腳本執(zhí)行嗎?

回答
編輯回答
尐懶貓

的確是HTML 4.01新增的安全策略。

2018年4月28日 10:29
編輯回答
背叛者

通過動態(tài)插入的方式,能讓腳本執(zhí)行,直接放進(jìn)去沒法執(zhí)行

var ifr = document.createElement('iframe');
    ifr.id = 'uiui'
    document.body.append(ifr)
    var ifrBody = document.getElementById('uiui').contentDocument.body;
    var script = document.getElementById('uiui').contentDocument.createElement('script');
    script.innerHTML = `
      var p = document.createElement('p');
      p.innerHTML = 'o_o'
      document.body.appendChild(p);
    `;
    document.getElementById('uiui').contentDocument.body.appendChild(script);
2017年3月28日 18:51