【发布时间】:2012-11-02 21:01:26
【问题描述】:
我在一个域和多个网站上托管了一个小部件,这些网站使用 iframe 来显示小部件。我希望 iframe 的内容根据父网站设置样式,但我知道由于Same Origin Policy,父网站无法操纵来自另一个域的内容。
我可以访问小部件和父网站,但想知道根据父网站更改小部件样式的最佳方法是什么?我更喜欢一种方法,这意味着如果新网站需要包含 iframe 或现有网站更改了样式,我就不必更改小部件。
将父网站样式表的位置传递给小部件并使用它来设置小部件的样式是一个可行的想法吗?如果是,最好的方法是什么?
【问题讨论】:
-
不能作为查询字符串参数传入吗?
-
您可以使用 JavaScript 包含小部件,然后根据某些设置构建小部件的 URL。这将使人们能够轻松地包含它。您也可以在小部件站点上生成它。像
widget.com/widget.html?color=#333&bg=red&size=12这样的东西就可以了。如果您将其作为文件包含在widget.com/widget.html?css=//example.com/css/style.css中,请务必避免 XSS 等。安全在这里很重要。很多事情都可能发生。
标签: javascript html css iframe