ember.js 使用Javascript访问iFrame中的DOM

fhity93d  于 2022-11-23  发布在  Java
关注(0)|答案(1)|浏览(136)

我试图从我的主页访问一个DOM元素,并希望更新CSS。

var myIframeContainerEl = $('#myIframeContainerEl');
myIframeContainerEl.contents().find(".required").css("color", "#f0f0f0");

由于某些原因,这是不工作的。虽然它能够找到“myIframeContainerEl”,但由于某些原因,“myIframeContainerEl.contents()”显示的长度为0。上面的方法不正确吗?
此外,只是为了补充,我在我的Ember项目中使用它,并在didTransition挂钩和“afterRender”中使用它,所以当我试图访问时,该元素是存在的。

k3fezbri

k3fezbri1#

iframe在它们出现的文档中没有内容。但是它们有一个contentDocument属性,该属性引用了它们确实有内容的文档。您可以让jQuery在该文档中查找,如下所示:

var frameDocument = $('#myIframeContainerEl')[0].contentDocument;
$(frameDocument).find(".required").css("color", "#f0f0f0");
  • (注意,这假定iframe的内容来自相同的源,否则Same Origin Policy禁止访问,除非使用CORS或类似的。)*

相关问题