【问题标题】:styling "<object>" tag inner content [duplicate]样式化“<object>”标签内部内容[重复]
【发布时间】:2017-06-23 03:09:51
【问题描述】:

假设我们有

<html>
  <body>
  <object width="435" height="350" type="application/x-shockwave-flash" data="http://www.youtube.com/v/SkPqgvQg3Mg"></object>
  </body>
</html>

因此,在将 youtube 视频加载到 html 页面后,如果我们检查视频中的元素,我们会在其中获得一个新的 html 页面。

现在我想在对象标签内设置内联 html 的样式。
有什么办法吗?

【问题讨论】:

    标签: javascript html css object styling


    【解决方案1】:

    简短回答:不。

    您无法使用页面中包含的 CSS 来做您想做的事情,因为 CSS 仅适用于文档边界内。
    由于same origin 安全策略可以防止您影响嵌入内容与您的容器页面位于不同域中的文档。
    此安全策略可防止的漏洞类型称为cross-site scripting 漏洞。

    【讨论】:

    • 我不能在 标记后操作外部 css 或在内容加载后通过 javascript 设置样式。
    • @manishk 不,不幸的是,允许这种跨域干扰将为XSS attacks 打开大门。 @Quentin 是的,这不是预期的意思,但为了清楚起见,我进行了编辑。
    • XSS 是指用户输入(可能由第三方提供,例如通过将用户从恶意站点重定向到由重定向器嵌入输入的 URL)被视为代码易受攻击的网站。它与同源策略阻止的不同(没有特殊名称,因为同源策略一直阻止它,所以没有人担心它)。
    • @Quentin 我一直将跨站点脚本的定义解释为比仅将用户输入视为代码更一般,而快速的 Google 研究并没有反驳这种解释。我的意思是,如果您可以跨站点编写脚本,那将是一个跨站点脚本编写漏洞,不是吗?
    【解决方案2】:

    -编辑-

    我认为最好使用 iframe,而不是对象,因为它已于 2015 年 1 月被弃用

    SOURCE

    至于更改 css,我认为其他站点的文件不可能

    【讨论】:

    • "你应该可以用 Javascript 或 CSS 来做。" — 不,出于非常明显的安全原因,您不能使用客户端 JavaScript 修改其他网站,即使它们位于框架中。
    • 我的错……你每天都学到新东西……让我编辑一下
    猜你喜欢
    • 1970-01-01
    • 2019-01-19
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    相关资源
    最近更新 更多