function setCookie(){
if (navigator.userAgent.indexOf('Safari') != -1 &&
navigator.userAgent.indexOf('Chrome') == -1){
window.open('safari.php','','width=200,height=100');
}
}
// then we set the cookie in safari.php
स्रोत: http://www.reizbombardement.de/archives/safari-5-1-4-enforces-cookie-policy
// अपडेट 23 जुलाई 2013
सफारी 6. जब तक काम करने के लिए
कृपया देखें @Fabio Antunes इस्तेमाल किया इस समस्या का समाधान का यह भद्दा तरीका है और नीचे @ncubica टिप्पणियां।
// अपडेट 23 जुलाई 2013 फैबियो Antunes द्वारा
यहाँ मेरी कोड
लैंडिंग पृष्ठ पर है हम एप्लिकेशन और एक बटन "प्रवेश" जैसे कुछ कह रही है के बारे में एक संक्षिप्त विवरण होगा। मैं इस प्रक्रिया को सरल बनाने के लिए jquery का उपयोग कर रहा हूं, क्लिक ईवेंट के लिए श्रोता बना रहा हूं, मैं केवल जावास्क्रिप्ट कोड डालूंगा, क्योंकि मुझे लगता है कि आपके पास लैंडिंग पृष्ठ के लिए पहले से ही शेष HTML कोड है:
$(document).on("click", "#bt-landing", function(){
var left = (screen.width/2)-(500/2);
var top = (screen.height/2)-(250/2);
window.open('URL_FOR_THE_PHP_THAT_WILL_CREATE_THE_SESSION', '_blank', 'width=500,height=250,toolbar=0,location=0,menubar=0, top='+top+', left='+left);
});
यह आपको 250 पिक्सल, अपनी स्क्रीन पर केंद्रित द्वारा 500 के साथ एक छोटी सी खिड़की खोलते हैं, करेंगे।
<?php setcookie("safari_cookie", "1");?>
<html>
<head>
<meta charset="utf-8">
<title>THE NAME OF YOUR APP OR SOMETHING THAT THE USER WE'LL READ AND ASSUME THAT THIS SMALL WINDOW IS RELIABLE</title>
</head>
<body>
<script type="text/javascript">
$(document).ready(function(){
setTimeout(function(){window.close()},1000);
})
</script>
</body>
</html
मैंने अभी थर्ड पार्टी कुकीज़ (Win7 सफारी) को अवरोधित करने के लिए सेटिंग सेट की है और साझा ऑब्जेक्ट काम नहीं कर रहा है जैसा कि करना चाहिए। मुझे कुछ निशान मिलेगा और जल्द ही इस पोस्ट को अपडेट करेंगे। –
दिलचस्प ... यह सेटिंग डिफ़ॉल्ट नहीं है, यद्यपि सही है? साथ ही, साझा की गई वस्तु तक पहुंच को अवरुद्ध करने वाली एक और चीज "निजी" या "गुप्त" ब्राउज़िंग है (जहां ब्राउज़र केवल उस विशेष सत्र के लिए कुकीज़ रखता है)। क्रोम के पास ऐसा करने का विकल्प है। –
मुझे इसे अपने ब्राउज़र (सफारी 5.1.7, मैक) में जांचना चाहिए था: प्राथमिकता में, गोपनीयता टैब पर, "ब्लॉक कुकीज़" सेटिंग कुकीज को "तृतीय पक्षों और विज्ञापनदाताओं से" ब्लॉक करने के लिए सेट की गई है। यह डिफ़ॉल्ट मान है (मुझे नहीं लगता कि मैंने इसे कभी बदल दिया है)। लेकिन मेरे मामले में, ShareObject तक पहुंचने से तीसरे पक्ष की कुकीज़ को अवरुद्ध करते समय ठीक काम करता है। –