使用JavaScript创建IFRAME

使用JavaScript创建IFRAME,javascript,Javascript,我有一个网页托管在线,我希望它是可能的,我可以插入一个IFRAME到另一个网页上使用一些JavaScript 这怎么可能是最好的方法,我只需将我的网页URL添加到JavaScript中,并且它可以在所有浏览器上工作 谢谢您可以使用: <script type="text/javascript"> function prepareFrame() { var ifrm = document.createElement("iframe"); ifrm

我有一个网页托管在线,我希望它是可能的,我可以插入一个IFRAME到另一个网页上使用一些JavaScript

这怎么可能是最好的方法,我只需将我的网页URL添加到JavaScript中,并且它可以在所有浏览器上工作

谢谢

您可以使用:

<script type="text/javascript">
    function prepareFrame() {
        var ifrm = document.createElement("iframe");
        ifrm.setAttribute("src", "http://google.com/");
        ifrm.style.width = "640px";
        ifrm.style.height = "480px";
        document.body.appendChild(ifrm);
    }
</script> 

函数prepareFrame(){
var ifrm=document.createElement(“iframe”);
ifrm.setAttribute(“src”http://google.com/");
ifrm.style.width=“640px”;
ifrm.style.height=“480px”;
文件.body.appendChild(ifrm);
}

另请检查

将HTML作为模板处理比通过JavaScript构建节点更好(HTML毕竟不是XML)。通过使用模板,然后将模板的内容附加到另一个DIV中,可以保持IFRAME的HTML语法干净

<div id="placeholder"></div>

<script id="iframeTemplate" type="text/html">
    <iframe src="...">
        <!-- replace this line with alternate content -->
    </iframe>
</script>

<script type="text/javascript">
var element,
    html,
    template;

element = document.getElementById("placeholder");
template = document.getElementById("iframeTemplate");
html = template.innerHTML;

element.innerHTML = html;
</script>

var元素,
html,
模板;
元素=document.getElementById(“占位符”);
template=document.getElementById(“iframeTemplate”);
html=template.innerHTML;
element.innerHTML=html;

因此,我尝试使用google console API键将一个嵌入youtube视频放入我的index.html,这是我制作的函数:

const searchVideos = async (key, search, maxResVideos) => {
    const config = { params: { key: key, q: search } }
    let res = await axios.get(`https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&maxResVideos=${maxResVideos}`, config);
    console.log('res:', res.data.items);
    res.data.items.forEach(item => {

        const video = document.createElement('div');
        video.innerHTML = `<iframe width="560" height="315" src="https://www.youtube.com/embed/${item.id.videoId}" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>`;
        searchResult.appendChild(video);
    });
}
const searchVideos=async(key,search,maxResVideos)=>{
const config={params:{key:key,q:search}
让res=等待axios.get(`https://www.googleapis.com/youtube/v3/search?part=snippet&type=video&maxResVideos=${maxResVideos}`,配置);
console.log('res:',res.data.items);
res.data.items.forEach(item=>{
const video=document.createElement('div');
video.innerHTML=`;
searchResult.appendChild(视频);
});
}

您仍然可以进行更改,但这会通过创建一个div并将iframe作为字符串模板文本来放置嵌入视频…

假设这两个页面都是您的?您想将SiteA插入SiteB中的iframe吗?我以前没有见过
脚本[type=text/html]
;这样做与使用div[style=display:none]有什么区别吗?@David Cook您提到的语法完全是为了不同的目的当我尝试使用它时,我得到的文档没有定义?@sparbreat:我猜你当时不在HTML DOM上下文中。