【问题标题】:Set iframe content to return value from fetch command将 iframe 内容设置为从 fetch 命令返回值
【发布时间】:2021-05-25 10:42:35
【问题描述】:

我想将我的 html 页面上 iframe 的内容设置为来自 js 中 fetch 命令的响应。我目前正在使用此代码。

window.fetch(
        "https://www.youtube.com/embed/SXR0D3MzpBM?autoplay=0&mute=1", {
    method: 'GET',
    accept: 'text/html',
    mode: 'no-cors'
})
.then(data => {
    console.log(data);

    var iframe = document.getElementById('video');
    iframe.contentWindow.document.open();
    iframe.contentWindow.document.write(data);
    iframe.contentWindow.document.close();
});

当我测试这段代码时,iframe 只是显示


   [Object Response]

我想在 iframe 中查看嵌入的 youtube 视频。

【问题讨论】:

    标签: javascript html iframe embed


    【解决方案1】:

    data 是你需要等待的承诺对象或另一个then

    .then(async (data) => {
        data = await data.text();
    .....
    

    但还有另一个问题,响应标头没有Access-Control-Allow-Origin,因此您无法读取响应。 mode: 'no-cors' 不会绕过 CORS。

    【讨论】:

    • 我会接受这个答案,因为它让我向解决方案迈出了一步。我最终使用了 youtube api 来完成它。
    猜你喜欢
    • 1970-01-01
    • 2010-09-27
    • 2013-05-06
    • 1970-01-01
    • 2010-10-02
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 1970-01-01
    相关资源
    最近更新 更多