【问题标题】:Cant load youtube api in frame无法在框架中加载 youtube api
【发布时间】:2015-06-11 23:08:39
【问题描述】:

我想做一个插件,只想从 Frame 属性控制 youtube。在普通的 javasrcipt 和 html 中,我可以加载 youtube api 并使用 player.playVideo 函数,但是当我尝试将 html 页面加载到 Frame 时,它​​会出现在那里,但出现错误: "类型错误 player.playVideo 不是函数"

【问题讨论】:

    标签: javascript html youtube-api firefox-addon


    【解决方案1】:

    iframe 将其内容与添加它们的页面的内容隔离开来。如果框架中有 youtube API,但您从父页面调用 player.Play,它将无法工作,因为父页面无法直接访问 iframe 的内容(即 API)。相反,您需要从框架的上下文中调用 api 方法,例如 FrameName.player.Play

    【讨论】:

    • 在 HTML 中,我有输入按钮,在同一个文档中,我有一个 JS,其中 document.getElementById("play") 调用 player.playVideo 函数。如果我仅在浏览器中打开该 HTML 文件,则单击自定义按钮将起作用。但是,如果我从 sdk 运行它并将 HTML 注入到 Main.js 文件中定义的框架中,我会收到此响应“类型错误”。我什至可能没有以正确的方式做到这一点,但我只是在玩 sdk。
    • @user3529814 永恒Stud 的工作可能与firefox-addon 相关,因此许多常规证券不适用
    • 您应该将按钮事件处理程序连线代码移动到onYouTubeIframeAPIReady 函数中。我认为问题在于它试图在加载到站点之前使用播放器定义
    • @Noitidart 是的,你是对的,它是 Firefox 插件的 sdk。我以为我在 Firefox 插件部分发布了。
    • @Darkninja955 这给出了同样的错误。它在正常的浏览器模式下工作,但作为一个插件它不会。 youtube 窗口也出现在框架中,我单击链接我得到一个“安全错误:操作不安全”。无论如何,我认为我需要更彻底地阅读文档。
    猜你喜欢
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    相关资源
    最近更新 更多