1,需求:
使用iframe嵌入一个外部链接,并修改该页面中的css样式。
2,实现逻辑:
若要实现能够修改iframe中嵌入页面的样式,首先要保证嵌入的链接和当前页面是同域的,若不是,需要先做跨域配置。
3,具体实现方法
页面结构代码:
<iframe
id="iframeId"
:src="iframeUrl"
width="100%"
height="100%"
frameborder="0"
@load="loadFrame"
/>
js主要实现方法:
methods: {
// iframe加载完成后的回调函数
loadFrameFn() {
const iframe = document.getElementById("iframeId");
const body = iframe.contentWindow.document.body;
const cssLink = document.createElement("link");
cssLink.href = "/static/iframe-css/iframe.css";
cssLink.rel = "stylesheet";
cssLink.type = "text/css";
body.appendChild(cssLink);
},
},
其中iframe.css为自己创建的css文件,内容为我们想要实现的css样式,该文件需要放置在静态资源文件中。我在public文件中创建了一个iframe-css文件夹,用来放置该文件