gpt4 book ai didi

iframe - Webview 和 iframe 无法在 Chrome 打包应用程序的沙盒 iframe 中显示 Youtube 视频

转载 作者:行者123 更新时间:2023-12-01 03:47:24 24 4
gpt4 key购买 nike

我正在开发 Chrome 打包应用程序(不是旧的打包应用程序);我的应用程序需要包含一个沙盒 iframe (运行第 3 方 HTML/JS 代码),其中我需要使用 webviewiframe显示 Youtube 视频。两者都不起作用;我无法播放任何 Youtube 视频。 (但是,webview 在沙盒之外使用时有效 iframe 。)

主 HTML 文件如下所示:

 <iframe src="sandbox.html"></iframe>

文件 sandbox.htmlmanifest.json 中声明.它看起来像这样(我正在尝试两种播放 Youtube 视频的替代方法):
<webview width="420" height="315" src="http://www.youtube.com/embed/XGSy3_Czz8k"></webview>
<iframe width="420" height="315" src="http://www.youtube.com/embed/XGSy3_Czz8k"></iframe>

当我运行这个应用程序时, webview是一个空的白色矩形。 iframe另一方面,包含封面图像和视频的 Youtube 播放器控件。

首先,为什么是 webview空的? webview只要我使用 webview 就可以在这个应用程序中工作(播放视频)沙盒外 iframe .当 webview在沙箱内,它默默地拒绝加载任何东西。

其次,当我运行这个应用程序时,控制台中有错误:
 GET chrome-extension://boadgeojelhgndaghljhdicfkmllpafd/cast_sender.js net::ERR_FAILED www-embed-player.js:140
GET chrome-extension://dliochdbjfkdbacpmhlcpmleaejidimm/cast_sender.js net::ERR_FAILED www-embed-player.js:140
GET chrome-extension://hfaagokkkhdbgiakmmlclaapfelnkoah/cast_sender.js net::ERR_FAILED www-embed-player.js:140
GET chrome-extension://fmfcbgogabcbclcofgocippekhfcmgfj/cast_sender.js net::ERR_FAILED www-embed-player.js:140
GET chrome-extension://enhhojjnijigcajfphajepfemndkmdlo/cast_sender.js net::ERR_FAILED www-embed-player.js:140

当我加载 iframe 时会出现这些错误如上所示,在沙盒页面内。这些错误很奇怪(为什么 Chrome 试图从一些随机的 Chrome 扩展程序中加载一个 JS 文件?)

当我尝试在 iframe 中开始播放视频时,有时我会收到来自 Youtube 播放器的消息“发生错误”,有时没有消息但播放器变黑了。在所有情况下,我在控制台上都有这个错误:
 XMLHttpRequest cannot load https://www.youtube.com/get_video_info?html5=1&video_id=S2VXOd3uXh8&cpn=Rso…=en_US&sts=16309&lact=11140&width=300&height=300&iframe=1&c=web&cver=html5. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

我的 manifest.json拥有所有必要的权限:
 "permissions": [
"http://www.youtube.com/*", "https://www.youtube.com/*", "webview" ],
"sandbox": {
"pages": [ "sandbox.html" ]
}, ...

我试过 <object data=...> , <embed src=...> , MediaElement - 它们在 Chrome 应用程序中根本不起作用。

我不知所措,在网上也找不到任何相关信息。
  • 为什么是webview当它在沙盒中时为空白 iframe ?
  • 有什么我可以做的webviewiframe在沙盒中工作 iframe在打包的 Chrome 应用程序中显示 Youtube 视频?
  • 最佳答案

    您应该将 URL 直接加载到 webview 中。 ,而不是通过 iframe .
    您的主要 HTML 应包含:

    <webview  width="420" height="315" src="http://www.youtube.com/embed/XGSy3_Czz8k"></webview>

    直接地。
    我尝试加载您的 URL http://www.youtube .... 进入浏览器示例应用程序,它在 a 中加载 URL 并且似乎工作正常。
    可以在此处找到浏览器示例应用程序以供引用:
    webview-samples/browser

    关于iframe - Webview 和 iframe 无法在 Chrome 打包应用程序的沙盒 iframe 中显示 Youtube 视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25678289/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com