2011-08-23 18 views
8

क्या मेरे फेसबुक कैनवास पृष्ठ से मेरी बाहरी वेबसाइट पर रीडायरेक्ट करने का कोई तरीका है?फेसबुक कैनवास पृष्ठ से वेबसाइट पर रीडायरेक्ट

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

दुर्भाग्य से समाधान के इन प्रकार के काम कभी नहीं: मैं ब्लॉग और फार्म की stackoverflow जवाब देखा है। मैंने top.location.href, window.location और location.href की कोशिश की है .. कुछ भी काम नहीं करता है। क्या फेसबुक ने इस तरह के कोड को पार्स करके जावास्क्रिप्ट से रीडायरेक्ट करने की संभावना को हटा दिया? क्या अभी भी पुनर्निर्देशित करने का कोई तरीका है?

अद्यतन: क्या होता है वेबपेज में कार्य करता है की तरह वहाँ Javascript रीडायरेक्ट अनुदेश कभी नहीं किया गया है। और वास्तव में, जब मैं फ़ायरबग के माध्यम से स्रोत कोड को देखता हूं तो मुझे कोई जावास्क्रिप्ट रीडायरेक्ट नहीं दिखाई देता है।

अद्यतन 2: मैं निम्नलिखित जावास्क्रिप्ट त्रुटियों मेरी कैनवास पेज फार्म जब मैं window.top.location = 'http://www.yoursite.com/'; कोशिश करते हैं और इसके बाद के संस्करण अन्य रूपों मिलता है। ऐसा लगता है फेसबुक विंडो तक पहुंच, ऊपर या स्थान वैश्विक जावास्क्रिप्ट चर अनुमति नहीं देता:

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

दिलचस्प बात यह है कि में document.location = 'http://www.yoursite.com/'; काम करता है वहाँ कोई अपवाद नहीं हैं ... लेकिन निश्चित रूप से वेबपेज रीडायरेक्ट नहीं करता है।

अद्यतन 3: इसे समझ लिया गया! जावास्क्रिप्ट रीडायरेक्ट केवल आईफ्रेम कैनवास के साथ काम करता है। मुझे एफबीएमएल के बजाय आईफ्रेम का उपयोग करने के लिए उन्नत स्क्रीन में अपनी सेटिंग्स बदलनी पड़ीं।

+0

उल्लंघन कर सकता है जब आप कहते हैं कि यह काम नहीं करता है, क्या होता है? – shanethehat

+0

कुछ भी नहीं होता है। कैनवास वेबपृष्ठ को रीडायरेक्ट नहीं किया जाता है, यह बस वहां बैठता है। –

+0

@at: आपके अपडेट के लिए धन्यवाद। अब मैं समझता हूं कि क्या गलत है। –

उत्तर

8

कैसे निम्नलिखित कोड का उपयोग कर के बारे में:

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

नहीं, मैंने पहले ही यह कोशिश की थी ... –

1

मेरी स्क्रिप्ट

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

से और यह हमेशा काम किया। क्या यह कोई त्रुटि, अपवाद या तो फेंक देता है?

आप PHP का उपयोग कर सकते हैं, तो यह जावास्क्रिप्ट कोड

+0

क्या यह अभी आपके कैनवास पृष्ठ पर काम करता है? दिलचस्प है, हालांकि, जब मैं शीर्ष पर टिप्पणी करता हूं तो मुझे वास्तव में जावास्क्रिप्ट अपवाद मिलता है। Location.href कथन: "Uncaught ReferenceError: a217374027657_top परिभाषित नहीं किया गया है"। कोई विचार नहीं कि इसका क्या अर्थ है ... –

+0

@at: मुझे कोई जानकारी नहीं है, मैं इसे सीधे समाधान के लिए स्थानांतरित कर चुका हूं EDIT: yes: http://apps.facebook.com/riseofkings_login – genesis

+0

हम्म, जब मैं आपके कैनवास पृष्ठ पर गया, तो उसने मुझे रीडायरेक्ट किया अपना आवेदन स्वीकार करें। मैंने आपका आवेदन स्वीकार कर लिया और फिर मैं आपकी वेबसाइट पर रीडायरेक्ट करने में सक्षम था। मुझे आश्चर्य है कि जावास्क्रिप्ट रीडायरेक्ट केवल उन लोगों के लिए होना चाहिए जिन्होंने आपका आवेदन स्वीकार कर लिया हो? –

-2

यह संभव नहीं है के बाद die() करने की कोशिश, फेसबुक जानबूझकर इस कार्यक्षमता अक्षम। आपको या तो अपने कैनवास में रहना होगा, एक पॉपअप खोलें (यदि संभव हो) या उपयोगकर्ता को क्लिक करने के लिए बस एक लिंक बनाएं।

1

मैंने इसे अपने ऐप पर किया:

 
    if(window.top.location.href != window.location.href){ 
    window.top.location.href = window.location.href; 
    } 
बस अपने कैनवास पृष्ठ के शीर्ष पर रखें। यदि शीर्ष href यूआरएल से मेल नहीं खाता है तो आपकी कैनवास सामग्री खींची जाती है, यह आपकी साइट पर रीडायरेक्ट होती है।

5

सावधान रहें, किसी बाहरी साइट में उपयोगकर्ता पुनः निर्देशित 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.

संबंधित मुद्दे