2017-06-06 11 views
4

ボタンのようなカスタムのtumblrを作成し、その上にiframeを置いてクリック可能にしましたが、うまくいかなかったに違いありません。これがばかな質問であれば申し訳ありません!私はカスタムtumblrのようなボタン

...それが明確でない場合 hereがページへのリンクである

window.onload = function() { 
 
    document.body.insertAdjacentHTML('beforeEnd', '<iframe id="my-like-frame" style="display:none;"></iframe>'); 
 
    document.addEventListener('click', function(event) { 
 
    var myLike = event.target; 
 
    if (myLike.className.indexOf('like') > -1) { 
 
     var frame = document.getElementById('my-like-frame'), 
 
     liked = (myLike.className == 'liked'), 
 
     command = liked ? 'unlike' : 'like', 
 
     reblog = myLike.getAttribute('data-reblog'), 
 
     id = myLike.getAttribute('data-id'), 
 
     oauth = reblog.slice(-8); 
 
     frame.src = 'http://www.tumblr.com/' + command + '/' + oauth + '?id=' + id; 
 
     liked ? myLike.className = 'like' : myLike.className = 'liked'; 
 
    }; 
 
    }, false); 
 
};
.controls i { 
 
    height: 10px; 
 
    width: 10px; 
 
    background: #ce9c87; 
 
    border-radius: 100%; 
 
    padding: 5px; 
 
    display: block; 
 
    overflow: visible; 
 
    text-align: center; 
 
    color: #fff; 
 
    -webkit-transition: .2s ease; 
 
    -moz-transition: .2s ease; 
 
    -o-transition: .2s ease; 
 
    transition: .2s ease; 
 
} 
 

 
.controls { 
 
    float: right; 
 
    margin-right: 10px; 
 
} 
 

 
.controls a { 
 
    position: relative; 
 
    display: inline-block; 
 
    overflow: hidden; 
 
    padding: 1px 2px; 
 
    width: auto; 
 
    height: auto; 
 
    margin-left: 1em; 
 
    float: right; 
 
} 
 

 
.like { 
 
    position: relative; 
 
    display: inline-block; 
 
    overflow: hidden; 
 
    padding: 1px 2px; 
 
    width: auto; 
 
    height: auto; 
 
    margin-left: 1em; 
 
    float: right; 
 
    cursor: pointer; 
 
} 
 

 
.controls .like .liked+i, 
 
.controls i:hover { 
 
    color: #ce9c87; 
 
    background-color: #fff; 
 
}
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> 
 
<div class="controls"> 
 
    <a href="{Permalink}" class="permalink"> 
 
    <i class="fa fa-bookmark-o" aria-hidden="true"></i> 
 
    </a> 
 
    <a href="{ReblogURL}" target="_blank" class="reblog"> 
 
    <i class="fa fa-retweet" aria-hidden="true"></i> 
 
    </a> 
 
    <div class="like" data-reblog="{ReblogURL}" data-id="{PostID}">{LikeButton} 
 
    <i class="fa fa-heart-o" aria-hidden="true"></i> 
 
    </div> 
 
</div>

カスタムボタンを作成する必要があります知っているとすぐ上tumblrの者のiframeを置くが、...

ありがとう!

+0

Tumblrのは、自分のLikeボタンをカスタマイズできるようにしますしたい場合、彼らはそうするオプションを提供します。私はここで何をしようとしているのか強くお勧めします。これは、ある時点で何らかの「クリックジャック」の検出を引き起こす可能性が高いためです。それが自動化されたツール/アルゴリズムを介して行われると、そのように集められたすべての人が単純に削除される可能性があります。 – CBroe

+3

私はそれがあなたのための助けだと思います。 https://stackoverflow.com/questions/21708662/customise-tumblrs-new-like-button-iframe-likebutton –

+0

@CBroe文書化された返信ありがとうございました、私はかなりのボタンを?彼らはこの{LikeButton}を提供していて、多くのアカウントがそれを変更しているので、間違っているとは思わないのですか?... –

答えて

4

tumblrがあなたのブログの投稿を好きにすることができなくなっている可能性があります。これを回避するには、コンソールを開いて好きなボタンをクリックしてください。このエラーが発生した場合、あなたのボタンは機能しますが、tumblrは自分の投稿を好きにならないようにしています。

enter image description here

+1

ああ、私はこれに気づいていないありがとう!問題は解決しないが、あなたは正しいことだ –

関連する問題