【发布时间】:2015-06-05 21:01:02
【问题描述】:
我在我的应用程序中添加了一个推文按钮,当我最初登陆页面或刷新页面时会显示该按钮,但在我浏览链接时不显示该按钮。它只显示写在标签中的文本。通过inspect元素可以看出这两种情况的区别。
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://example.com" data-via="sometext" data-size="large">Tweet</a>
<script>!function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https';
if (!d.getElementById(id)) {
js = d.createElement(s);
js.id = id;
js.src = p + '://platform.twitter.com/widgets.js';
fjs.parentNode.insertBefore(js, fjs);
}
}(document, 'script', 'twitter-wjs');</script>
我已经从这个链接https://dev.twitter.com/web/tweet-button复制了上面的代码
两种情况的区别:
案例一:当按钮出现时:
<iframe id="twitter-widget-0" scrolling="no" frameborder="0" allowtransparency="true" src="http://platform.twitter.com/widgets/tweet_button.7d9dd43d4f18b1bb51cc9d8f0997995e.en.html#_=1427878870272&count=horizontal&dnt=false&id=twitter-widget-0&lang=en&original_referer=http%3A%2F%2Flocalhost%3A3000%2Fusers%2Fedit&size=l&text=Draft%20Picks&url=http%3A%2F%2Fexample.com&via=sometext" class="twitter-share-button twitter-tweet-button twitter-share-button twitter-count-horizontal" title="Twitter Tweet Button" data-twttr-rendered="true" style="width: 140px; height: 28px;"></iframe>
<script>!function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https';
if (!d.getElementById(id)) {
js = d.createElement(s);
js.id = id;
js.src = p + '://platform.twitter.com/widgets.js';
fjs.parentNode.insertBefore(js, fjs);
}
}(document, 'script', 'twitter-wjs');</script>
案例2:当按钮消失时
<a href="https://twitter.com/share" class="twitter-share-button" data-url="http://example.com" data-via="sometext" data-size="large">Tweet</a>
<script>!function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0], p = /^http:/.test(d.location) ? 'http' : 'https';
if (!d.getElementById(id)) {
js = d.createElement(s);
js.id = id;
js.src = p + '://platform.twitter.com/widgets.js';
fjs.parentNode.insertBefore(js, fjs);
}
}(document, 'script', 'twitter-wjs');</script>
如果有人弄清楚 iframe 如何在此处显示或删除或对此的适当解决方案,我将非常感激。非常感谢提前!
【问题讨论】:
-
你把那个链接放在哪里了? application.html.erb ?,它是否在某些 if 条件内?并且您的 iframe 被一个锚标记替换,,, waa.. ::P
-
@argentum47 这是 application.html.erb 中的代码/条件
-
所以您访问的下一页中可能不存在 current_user .. 我不知道您是如何实现 current_user 的
-
首先 current_user 在我检查时存在。其次,如果条件不满足,则不应调用整个部分
-
我看到一个 iframe 和一个锚标记,它们是单独的模板吗?哪一个被删除了?
标签: ruby-on-rails ruby ruby-on-rails-4 iframe twitter