2011-08-23 13 views
8

Có cách nào để chuyển hướng từ trang vải nền Facebook của tôi đến trang web bên ngoài của tôi không? Tôi đã xem các câu trả lời của blog và stackoverflow của biểu mẫu:Chuyển hướng từ trang vải Facebook đến trang web

<script> 
window.top.location = 'http://www.yoursite.com/'; 
</script> 

Thật không may các loại giải pháp này không bao giờ hoạt động. Tôi đã thử top.location.href, window.location và location.href cũng .. không có gì hoạt động. Facebook có xóa khả năng chuyển hướng từ javascript bằng cách phân tích cú pháp loại mã này không? Có cách nào để vẫn chuyển hướng không?

CẬP NHẬT: Điều gì xảy ra là trang web hoạt động như không bao giờ có hướng dẫn chuyển hướng javascript. Và trong thực tế, khi tôi nhìn vào mã nguồn thông qua firebug tôi thấy không có chuyển hướng javascript.

UPDATE 2: Tôi nhận được lỗi javascript sau tạo trang vải nền của tôi khi tôi cố gắng window.top.location = 'http://www.yoursite.com/'; và các biến thể khác ở trên. Có vẻ như Facebook không cho phép truy cập vào cửa sổ, biến javascript hàng đầu thế giới hoặc vị trí:

Uncaught ReferenceError: a217374027657_location is not defined 
Uncaught ReferenceError: a217374027657_window is not defined 
Uncaught ReferenceError: a217374027657_top is not defined 

Điều thú vị là, document.location = 'http://www.yoursite.com/'; tác phẩm trong đó không có ngoại lệ ... nhưng tất nhiên các trang web không được chuyển hướng.

CẬP NHẬT 3: Đã tìm ra! Chuyển hướng Javascript chỉ hoạt động với canvas khung nội tuyến. Tôi đã phải thay đổi cài đặt của mình trong màn hình nâng cao để sử dụng khung nội tuyến thay vì FBML.

+0

Khi bạn nói nó không hoạt động, những gì xảy ra? – shanethehat

+0

Không có gì xảy ra. Trang web canvas không được chuyển hướng, trang web chỉ nằm ở đó. –

+0

@at: cảm ơn bạn đã cập nhật. Bây giờ tôi hiểu điều gì sai. –

Trả lời

8

thế nào về việc sử dụng đoạn mã sau:

<script type='text/javascript'> 
    top.location.href = 'http://www.yousite.com'; 
</script> 
+0

Không, tôi cũng đã thử điều đó ... –

1

Từ kịch bản của tôi

<script type='text/javascript'> 
      top.location.href = 'http://riseofkings.net/fb.php?setcook&cook=cookhere'; 
    </script> 

Và nó luôn luôn làm việc. Nó có ném bất kỳ lỗi, ngoại lệ hay không?

Nếu bạn có thể sử dụng PHP, cố gắng die() sau mã javascript này

+0

Điều đó có hoạt động trên trang vải của bạn ngay bây giờ không? Thú vị mặc dù, tôi thực sự có được một ngoại lệ javascript khi tôi bỏ ghi chú top.location.href: "Uncaught ReferenceError: a217374027657_top không được xác định". Không biết điều đó có nghĩa là gì ... –

+0

@at: Tôi không có ý tưởng, tôi đã chuyển từ giải pháp này sang giải pháp trực tiếp EDIT: yes: http://apps.facebook.com/riseofkings_login – genesis

+0

hmm, khi tôi truy cập trang vải, nó đã chuyển hướng tôi đến chấp nhận đơn của bạn. Tôi đã chấp nhận đơn đăng ký của bạn và sau đó tôi có thể được chuyển hướng đến trang web của bạn. Tôi tự hỏi liệu chuyển hướng javascript có cần phải chỉ dành cho những người đã chấp nhận đơn đăng ký của bạn không? –

-2

này là không thể, Facebook vô hiệu hóa chức năng này vào mục đích. Bạn sẽ phải ở trong khung hình của bạn, mở một cửa sổ bật lên (nếu có thể) hoặc chỉ cần tạo liên kết để người dùng nhấp vào.

1

Tôi vừa làm điều này trên ứng dụng của mình:

 
    if(window.top.location.href != window.location.href){ 
    window.top.location.href = window.location.href; 
    } 
Chỉ cần đặt trên đầu trang canvas của bạn. Nếu href trên cùng không khớp với url, nội dung canvas của bạn được kéo ra, nó sẽ chuyển hướng đến trang web của bạn.

5

Hãy coi chừng, chuyển hướng người dùng đến một trang web bên ngoài có thể vi phạm các platform policy

The primary purpose of your Canvas or Page Tab app on Facebook must not be to simply redirect users out of the Facebook experience and onto an external site.