2014-09-29 4 views
1

SDK 나 인증이 필요없는 Twitter 및 Facebook 소셜 버튼을 사용하고 있습니다.터보 링크로 페이지를 바꿀 때 소셜 버튼 트위터 페이 스북 사라짐

https://about.twitter.com/resources/buttons#tweet

https://developers.facebook.com/docs/plugins/share-button

처음 페이지를로드하거나 새로 고침

, 트윗 버튼과 공유 버튼 쇼. 그러나 링크를 클릭하여 탐색 할 때 동일한 소셜 버튼이 표시되지 않습니다.

터보 링크를 사용하여 스크립트를로드하고 실행하려면 어떻게해야합니까?

+1

누구나 알아낼 수 있었습니까? 나는 똑같은 문제에 직면 해있다. – user2635088

답변

1

turbolinks 페이지를 새로 고침 할 때 자바 스크립트를 다시로드하지 않기 때문입니다. 이는 터보 링크의 예상되는 동작입니다. 그러나 때로는 타사 자바 스크립트를 다시로드해야 할 수도 있습니다.

해결 방법 : 다시로드해야 자바 스크립트가 포함 된 페이지로 연결되는 링크에

안 turbolinks. 귀하의 소셜 버튼이있는 페이지로 연결되는 링크를 클릭하십시오.

예 :

<%= link_to "the page containing your social buttons", social_page_path, "data-no-turbolink": true %> 

또 다른 해결 방법 : 소셜 버튼을 누른 다음 매번 다시로드 할 turbolinks을 강제 할 수있는 페이지 realod 이벤트에 바인더 제본하는 경우

. 보완 보석 사용 jquery.turbolinks 설치 지침을 따르십시오. turbolinks가 document.ready() 함수 안에 원하는 모든 자바 스크립트를 다시로드하도록 할 수 있습니다.

예 :

$(document).ready(function() { 
    // your social buttons javascript code 
}); 

수동 소셜 버튼을 포함하는 페이지로 이어지는 링크를 turbolinks을 해제하지 않아도 이쪽으로.

희망이 도움이됩니다.

+0

하지만 터보 링크는 감사합니다 – ahnbizcad

+0

그 페이지로 연결되는 모든 링크를 관리하는 대신 페이지 자체에 어떻게 든 가질 수 있습니까? – ahnbizcad

+1

같은 페이지에 있으면 터보 링크가 이미 페이지를 파싱했음을 의미합니다! 미리 터보 링크에 css 및 js 자원을 완전히 다시로드할지 여부를 알려줘야합니다. 이 페이지로 연결되는 모든 링크에서 터보 링크를 수동으로 비활성화하는 것이 정말 번거로운 경우 터보 링크가 응용 프로그램과 맞지 않을 수 있으므로 터보 링크를 Gemfile에서 제거하여 터보 링크를 완전히 비활성화하는 것이 좋습니다. – moeabdol