2010-02-12 32 views
16

Tôi đã có ứng dụng Facebook iFrame vui vẻ và chạy, nhưng tôi nhận ra rằng tôi không có cách nào để xử lý vị trí cuộn của khung chính vì chéo các vấn đề về tên miền. Nếu người dùng nhấp vào quá xa trên trang, tôi không thể bật chúng trở lại lên trên cùng.Kiểm soát vị trí cuộn cho khung mẹ của ứng dụng Facebook iFrame

Có ai có may mắn với bất kỳ thư viện Facebook JS nào hoặc thủ thuật JavaScript khác để gỡ bỏ điều này không?

Cảm ơn!

Trả lời

31

Facebook thêm phương pháp FB.Canvas.scrollTo đến mới hoạt Javascript SDK vào ngày 2011:

http://developers.facebook.com/docs/reference/javascript/FB.Canvas.scrollTo/

+0

Đó là sự thật, cuối cùng cũng có một cách để làm điều này! Cảm ơn nhiều vì đã chia sẻ - hy vọng điều này sẽ giúp bất kỳ ai khác đã cố gắng tìm ra điều này. – mikedory

+1

Cảm ơn Johnny! Bạn là người đàn ông! :) – Cristian

+0

Tuyệt vời, cảm ơn người đàn ông! – RobertH

1

Thư viện cũ có một số chức năng hoạt động, nhưng chúng chưa được chuyển sang thư viện SDK Javascript mới kể từ giữa tháng 6.

Đã thêm 10/12: Thử sử dụng location.href ("# top") để định vị trang khi cần thiết. Một chút clunky, nhưng tốt hơn không có gì. Bạn có thể định vị nó bất cứ nơi nào bạn có thể đặt một ID hoặc tham chiếu.

+0

Đúng , thư viện cũ có một số chức năng để làm một số điều này (mặc dù không phải cho những gì tôi đã đề cập ở đây, không may), nhưng có vẻ như chúng không hoàn toàn hoạt động trong thư viện mới - gây ra một số vấn đề rất lạ khi cuối cùng Tôi đã thử. Cảm ơn bạn rất nhiều! – mikedory

2

này hoạt động tốt hơn cho tôi (giả sử dụng Jquery)

$(document).ready(function($) { 
     scrollTo(0,0); 
    }); 

    function scrollTo(x,y){ 
     $("body").append('<iframe id="scrollTop" style="border:none;width:1px;height:1px;position:absolute;top:-10000px;left:-100px;" src="http://static.ak.facebook.com/xd_receiver_v0.4.php?r=1#%7B%22id%22%3A0%2C%22sc%22%3Anull%2C%22sf%22%3A%22%22%2C%22sr%22%3A2%2C%22h%22%3A%22iframeOuterServer%22%2C%22sid%22%3A%220.957%22%2C%22t%22%3A0%7D%5B0%2C%22iframeInnerClient%22%2C%22scrollTo%22%2C%7B%22x%22%3A'+x+'%2C%22y%22%3A'+y+'%7D%2Cfalse%5D" onload="$(\'#scrollTop\').remove();"></iframe>'); 
    } 
+0

Cảm ơn rất nhiều vì điều này. Nó hoạt động tốt trong khung nội tuyến Canvas App, nhưng nó không hoạt động trong iframe mới của Facebook trong tab Trang. Có giải pháp có thể so sánh hoạt động trong khung nội tuyến trong tab Trang không? –

Các vấn đề liên quan