Billindiği üzere safari tarayıcısında üçüncü parti iframelerde (farklı bir domainden çaprılan sayfa) kullanıcı ilgili iframe ile ilgili bir aksiyona girmedikçe cookie (çerez) yazamıyorsunuz. Bu durum özelleikle facebook uygulamalarında problemlere neden olabiliyor. Bu sorunu aşmak için;

Öncelikle iframe ile çağırılan sayfaya bir link koyarak linkin yeni sayfada bir pencere açmasını sağlayın. Açılan bu sayfa yüklendiği anda kapatılıp kendine çağıran sayfadaki bir javascript fonksiyonunu çağırıyor olsun. Bu iframe fonksiyoun içinde de ihtiyaç duydunuz kodu yazabilirsiniz.

Özetle IFrame sayfamızın içeriği

<script>
function redirector() {
top.location.href = 'http://apps.facebook.com/applinki';
}
</script>
<a id="sfix" href="/home/safariredirect" target="blank">Uygulamaya gitmek için tıklayın</a>

<!-- yeni pencerede açılacak sayfa-->
<script type="text/javascript">
//sunucu tarafında veya burada cookie'yi yazın
$(function () {
window.opener.xcode();
window.close();
});
</script>

Yorumlar

Bu kod parçacığına henüz yorum yapılmamış.

Yorum Yaz

Yorum yazabilmek için üye olunuz veya giriş yapınız