javascript - Twitter 嵌入式时间轴小部件

标签 javascript css twitter

我继续下载 http://platform.twitter.com/widgets.js

还有 http://platform.twitter.com/embed/timeline.4d0955f67d15e8ef0601086ae2d5fcd0.default.css

嵌入式时间轴小部件使用的两个文件。

我想做的就是自定义小部件的 css,因为 Twitter 只给你一些设计选项,比如链接颜色和深色/浅色主题,我认为下载文件和修改会更容易他们我自己。

唯一的问题是,我在尝试将 widgets.js 中的 css 文件位置指向我的 webapp 上的副本时遇到了一些困难

widget.js 中的一行,将 css 文件定位在推特服务器上,它与一些组合前缀 平台的变量相关联。 twitter.com/ 值(value)什么的

provide("tfw/assets",...{"default":"embed/timeline.4d0955f67d15e8ef0601086ae2d5fcd0.default.css",

我不知道需要对 widget.js 进行多少编辑,但我猜它只有几行?

如果任何精通 javascript 的人不介意看一看并告诉我“不值得努力”,或者“这很简单,只需将 __ 更改为 __” , 让我知道。

widgets.js is the first hyperlink above

最佳答案

(请参阅下面我的编辑以获得更好的解决方案)这似乎对我有用并且不需要太多时间来实现:

在widgets.js中,找到

function Z(a,b,c)

在函数 Z 中更改它:

d.href=twttr.widgets.config.assetUrl()+"/"+b

像这样:

d.href=b

assetUrl 仅获取文件(例如 CSS 文件)的基本 URL,该文件位于 Twitter 拥有的域中。 b 将是您在整个 JS 中指定的路径(例如 embed/timeline.4d0955f67d15e8ef0601086ae2d5fcd0.default.css )。将所有 CSS(如 timeline.xyz.default.css)上传到您想要的位置,然后您可以自定义这些文件并将它们保存在您自己的服务器上。您不能通过简单地将规则添加到服务器上的 CSS 文件来修改 CSS,因为 Twitter 提要位于来自不同域的 iframe 中。不允许使用此类源(即不是来自您自己的域)修改 iframe 中的 CSS,以防止劫持类型的问题,但如果 iframe 引用您自己服务器上的 CSS,则您可以修改内容。

您可能还需要检查一些其他事项,以确保您拥有所有必需的文件。您还应该获得在 Twitter CSS 文件中引用的 sprite.png。我能够通过这种方式自定义 CSS,并且效果很好。

编辑:

我在 IE7/6 和 Chrome 中的 Jelly Bean 中遇到了上述解决方案的问题,因此找到了一个更好的解决方案,让您可以将自己的自定义 CSS 文件注入(inject)到 iframe 中,同时坚持在他们自己的域中使用所有 Twitter 的 CSS。我从一个新的 widgets.js 中添加了以下内容:

;d=c.createElement("link"),
d.id="custom-css-1",
d.rel="stylesheet",
d.type="text/css",
d.href="http://mydomain.com/css/timeline.custom.css";
c.getElementsByTagName("head")[0].appendChild(d);

紧接着

c.getElementsByTagName("head")[0].appendChild(d)

在 widgets.js 开头的行上

provide("tfw/widget/timeline"

(再次在函数 Z 中)这似乎工作得更好,您所需要的只是位于 http://platform.twitter.com/widgets.js 的 widgets.js 副本。 .

关于javascript - Twitter 嵌入式时间轴小部件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12306588/

相关文章:

php - 从查询字符串php中删除加号

html - 同时拥有移动站点和常规站点的架构?

html - 使用 CSS 边框的三 Angular 形和倒三 Angular 形

css - 在 bootstrap 中调整 pull-right

javascript - 除了使用自定义 CSS 和 html 之外,还有其他方法可以显示从 API 获取的推文吗?

javascript - 复选框返回两个值

javascript - 将变量 $ 发送到上传的 php 脚本

javascript - Bootstrap 多列轮播平滑滚动/缓动

twitter - Zeppelin Twitter 流媒体示例不工作

c# - 在 url 和参数中传递逗号 (,) 时,Twitter 流式传输 api 返回未授权