【发布时间】:2016-08-30 18:03:53
【问题描述】:
我正在尝试使用我自己的 css 修改 iframe 中的一些 div 类并更改 Twitter 块 | Drupal 8 外观。但是,我遇到了很多错误,例如$ is not a function 等....我认为我的js 加载得太快(在我的jquery.js 之前),但是,我检查了元素并且一切都应该工作. (现在没有错误)
HTML
<iframe id="twitter-widget-0" class="twetter-timeline" >
<html>
<head></head>
<body>
<div class="timeline-Viewport">
<ol class="timeline-TweetList">
<li></li>
</ol>
</div>
</body>
</html>
</iframe>
注意:我无法控制iframe,它不在我自己的代码中。
JS
(function ($, Drupal, drupalSettings) {
Drupal.behaviors.yourbehavior = {
attach: function (context, settings) {
$('iframe').load( function() {
$('#twitter-wwidget-0').contents().find("body")
.append($("<style type='text/css'> .timeline-Widget{color:red;} </style>"));
});
}
};
})(jQuery, Drupal, drupalSettings);
没有错误,但它不起作用......所以我不知道我做错了什么。
更新: 我也试过这段代码,但也没有用。
(function($) {
$(document).ready(function() {
console.log('hello');
$('#twitter-widget-0').css('width', '100px');
});
}(jQuery));
【问题讨论】:
-
iframe 的内容是在您的域上,还是在 Twitter 上? en.wikipedia.org/wiki/Same-origin_policy
-
嘿@ceejayoz 它在我的域中..感谢询问
-
@ceejayoz 任何想法 =/?
-
您的代码看起来很干净,但您可以尝试将代码中的
$替换为jQuery。 -
@kisanme 你的意思是我上一个函数?我的意思是我的最后一次更新?
标签: javascript jquery drupal-8