दिलचस्प पोस्ट
जावास्क्रिप्ट getElementByName काम नहीं करता है पॅक () क्या करता है? सी # अन्य कोड का उपयोग कर Json.Net में system.enum में विशिष्ट enum का वर्णन करें PySpark में विस्फोट लिंक तत्व ऑनलोड साक्षात्कार प्रश्न: यदि एक स्ट्रिंग अन्य स्ट्रिंग का रोटेशन है तो देखें स्क्रिप्ट टैग के प्रकार विशेषता के लिए जावास्क्रिप्ट एमआईएम प्रकार क्या है? एक समारोह बुला बैकिक्स गैर-गतिविधि से startActivityForResult का उपयोग करें SQL सर्वर डेटाबेस तालिका में डेटा तालिका कैसे सम्मिलित करें? JQuery का उपयोग करके तत्व के आईडी को कैसे प्राप्त किया जाए JQuery Ajax – कैसे अजाक्स कॉल करने के दौरान नेटवर्क कनेक्शन त्रुटि का पता लगाने के लिए एंड्रॉइड फ़ोल्डर में कोई डिबग नहीं है। कुंजीस्टोर स्ट्रिंग को Int सी ++ में परिवर्तित करें

सफारी सत्र में एकाधिक पृष्ठों के साथ फेसबुक ऐफ़राइम ऐप चर निरंतर नहीं है

इसमें एक से कई PHP पृष्ठों के साथ फेसबुक आइफ्रेम एप्लिकेशन है I

मेरे पास कुछ लिंक्स हैं जो मेरे "आइफ्रेम फ़ोल्डर" के अंदर अपेक्षाकृत फ़ाइलों को इंगित करते हैं I

Iframe के अंदर सत्र चर के साथ कुछ समस्याएं आ रही है मैं कुछ सत्र चर सेट करता हूं, लेकिन वे एक पृष्ठ से दूसरे तक जारी नहीं रखते हैं

यह अन्य ब्राउज़रों पर काम करता है

मैं पढ़ रहा हूं कि सफारी क्रॉस-डोमेन कुकीज़ का समर्थन नहीं करता है और यह समस्या हो सकती है, लेकिन मुझे यकीन नहीं है कि यह कैसे ठीक करें

कोई मदद?

Solutions Collecting From Web of "सफारी सत्र में एकाधिक पृष्ठों के साथ फेसबुक ऐफ़राइम ऐप चर निरंतर नहीं है"

मैंने लिखा ब्लॉग पोस्ट डोमिनिक अपने जवाब में संदर्भित करता है।

समस्या यह है कि सफारी का डिफ़ॉल्ट व्यवहार केवल उन साइटों से कुकीज़ स्वीकार करना है जो आप देखते हैं। इसमें "तृतीय पक्ष" कुकी शामिल नहीं है सफ़ारी एक तृतीय पक्ष साइट के रूप में IFRAME के ​​अंदर पृष्ठ को नियंत्रित करता है, और जब तक आप उस सामग्री (उदाहरण के लिए कोई लिंक क्लिक करके) से बातचीत नहीं करते, तब तक वे उन कुकीज़ को मना कर देंगे

आपके PHP कोड को पहले पृष्ठ पर एक कुकी सेट करने की आवश्यकता होती है जो उस सत्र के लिए सत्र का उपयोग करता है, ताकि एक पृष्ठ दूसरे से जारी रहें, लेकिन अगर सत्र चर IFRAME में बहुत पहले पेज में हो, तो आपके पास चिकन है- और -ईजी समस्या

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

यह संभवतः आपके PHP सत्र में मदद नहीं करेगा, इसलिए, मैं पहले पृष्ठ पर लिंक के लिए एक अन्य पैरामीटर जोड़ने का सुझाव देता हूं जो दूसरे पृष्ठ को सत्र को देखने की अनुमति देता है, या अन्यथा इसे पुन: बनाएँ

मेरा मानना ​​है कि यह समाधान सफारी के नवीनतम (6.0 और बाद के) संस्करणों के साथ अप्रचलित हो गया है।

सफ़ारी डिफ़ॉल्ट रूप से कुकीज को तृतीय पक्षों से सेट करने की अनुमति नहीं देता है यह फेसबुक आइफ्रेम अनुप्रयोगों को प्रभावित करता है क्योंकि उपयोगकर्ता apps.facebook.com से apps.facebook.com पृष्ठ तक पहुंच रहा है। apps.facebook.com लेकिन iframe को apps.facebook.com yourdomain.com , इस मामले में "तृतीय पक्ष" से परोसा जा रहा है।

वेब के चारों ओर कई कई समाधान दिए गए हैं मैंने पाया कि सबसे अच्छा और विविध मुद्दों की अपनी सूची में फेसबुक द्वारा अनुशंसित है, यह yourdomain.com को JQuery का उपयोग करने के लिए एक डाक अनुरोध है। अनंत गर्ग द्वारा विस्तृत यह समाधान विभिन्न होस्ट / आइफ्रेम डोमेन के लिए सामान्य रूप से कार्य करता है और इसे फेसबुक ऐप्स के लिए अनुकूलित किया जाना चाहिए। मुख्य भाग हैं:

 $("body").append(' <iframe id="sessionframe" name="sessionframe" onload="submitSessionForm()" src="http://www.yourdomain.com/blank.php" style="display:none;"></iframe> <form id="sessionform" enctype="application/x-www-form-urlencoded" action="http://www.yourdomain.com/startsession.php" target="sessionframe" method="post"></form>'); var firstTimeSession = 0; function submitSessionForm() { if (firstTimeSession == 0) { firstTimeSession = 1; $("#sessionform").submit(); } } 

विल हेंडरसन का एक और समाधान आपके पेज पर प्रत्येक लिंक को एक जावास्क्रिप्ट फंक्शन के उपयोग से सत्र की जानकारी के साथ लिखना है। फिर अपने सर्वर कोड को इस सत्र की जानकारी प्राप्त करने के लिए इसे GET पैरामीटर से पढ़कर संशोधित करें।

मुझे लगता है कि सबसे अच्छा उपाय सत्र आईडी का मैन्युअल रूप से ट्रैक करना है, अर्थात session_id($_GET['session]); बस सुनिश्चित करें कि आप session_start(); कॉल करने से पहले ऐसा करते हैं session_start(); और सब कुछ काम करता है

सफारी केवल उस पृष्ठ से कुकी स्वीकार करता है जो उपयोगकर्ता नेविगेट करता है। इसे ठीक करने का सबसे आसान और सबसे प्रभावी तरीका आपके कैनवास ऐप के लैंडिंग पेज से अनुरोध को अपने डोमेन के किसी दूसरे पृष्ठ पर शीर्ष स्थान पर top.location.href करना है। top.location.href और उपयोगकर्ता को उस पेज से कैनवास ऐप पर रीडायरेक्ट करना है।

उदाहरण के लिए, यदि abc.php आपका लैंडिंग पृष्ठ है और कैनवास यूआरएल facebook.com/abc है पहले abc.php से अनुरोध को एक अलग पेज पर पुनर्निर्देशित करें जैसे xyz.php फिर से xyz.php से facebook.com/abc पर रीडायरेक्ट करें। सत्र xyz.php में सत्र शुरू करने के लिए मत भूलना

यह आसान तय है …

और सभी इनपुट के लिए धन्यवाद मैंने प्रत्येक पृष्ठ पर "हस्ताक्षरित_रुको" पैरामीटर को जोड़कर समस्या को हल करना समाप्त कर दिया मैं इसे एक छिपे हुए फ़ील्ड के रूप में रखता हूं और इसे कोड के पीछे सेट करता हूं। इस तरह मैं इसे सफारी में काम करने में कामयाब रहा। उम्मीद है कि यह आपके लिए भी उपयोगी होगा।

यदि आप .NET का उपयोग करते हैं तो इस समस्या का एक बहुत आसान समाधान है।

बस अपने web.config में गलत करने के लिए कुककुरा सेट करें उदाहरण के लिए:

 sessionState mode="InProc" cookieless="true" timeout="60" 

Iframe पोस्ट करने से, या iframe के यूआरएल के साथ एक पॉपअप विंडो खोलने से इसकी बहुत आसान है।

सधन्यवाद,

डेविड

सफ़ारी 7 की रिलीज के साथ, न केवल 3 पार्टी कुकी अवरुद्ध की जा रही है स्थानीय भंडारण के साथ-साथ वेबडीबी, किसी भी प्रकार के वेबसाइट डेटा अवरुद्ध किए जा रहे हैं। जब आप Safari प्राथमिकताएं (सीएमडी + अल्पविराम) में जाते हैं, गोपनीयता टैब के तहत, सफारी 7 पर, अब यह कहता है: "कुकीज और अन्य वेबसाइट को ब्लॉक करें ", मूल रूप से "अवरुद्ध कुकीज" था। यह बदलाव की पुष्टि करता है

अन्य ब्राउज़र भविष्य के माध्यम से अनुसरण कर सकते हैं सबसे शायद फ़ायरफ़ॉक्स क्रोम, खांसी * खाँसी * शायद नहीं

आपको संभवत: रेडरेक्शन तकनीक या पॉपअप का उपयोग करके कुछ वर्कअराउंड को नियुक्त करना पड़ता है जो डिस्क्स ने किया था।

मैंने इस हैडर को PHP के साथ प्रयोग किया है, जो मेरी समस्याओं को ठीक करता है

 if ( strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') ) header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');