2014-01-15 3 views
0

mydomain.tld이있는 웹 사이트에서는 otherdomain.tld에 호스팅 된 양식이 포함 된 iFrame이 포함되어 있습니다. 두 사이트 모두 SSL을 사용하지 않고 포트 80에서 실행 중입니다.iFrame에 포함 된 양식 제출 iOS 7에서 작동하지 않음

이제이 양식은 iOS 7에서 실행되는 iPhone 5에 제출되지 않습니다. iOS-Simulator에서 iPhone Retina (4 인치 64 -bit) "("4 인치 "에만 해당).

제출 이벤트가 트리거됩니다 (적어도 JavaScript를 통해 catch하는 경우).하지만 개발자 도구에 따라 요청이 이루어지지 않습니다.

iFrame 소스를 직접 열면 양식이 제출됩니다.

나는 인터넷 익스플로러와 비슷한 문제가 있었다 약 P3P을 배운 특별한 P3P 헤더를 보내는 문제를 해결할 수 :
P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA" 

그러나 사파리와 함께 언급 된 문제에 대한이 문제가 될 것 같지 않습니다

.

iFrame에서 Safari 및 양식과 관련하여 알려진 제한 사항이 있습니까?

+0

여기를 보라 : HTTP : //stackoverflow.com/questions/19667785/iframe-and-mobile-safari-ipad-iphone – Zigglzworth

답변

0

iFrame에서 양식의 Spamshield를 트리거 한 양식 제출을 차단하기 위해 iFrames에서 쿠키를 사용하는 것과 관련된 문제가 발견되었습니다.

opt-in 형식이므로 Spamshield를 비활성화했지만 쿠키를로드 할 때 트리거되는 숨겨진 양식에 제출하여 쿠키를 작동시켜야하는 솔루션 (테스트하지 않음)을 발견했습니다. iFrame 콘텐츠.

<script> window.setTimeout(function() { 
if (document.cookie.indexOf('test_cookie=1') < 0) { 
    var  
    name = 'test_cookie', 
    div = document.getElementById(name), 
    iframe = document.createElement('iframe'), 
    form = document.createElement('form'); 

    iframe.name = name; 
    iframe.src = 'javascript:false'; 
    div.appendChild(iframe); 

    form.action = location.toString(); 
    form.method = 'POST'; 
    form.target = name; 
    div.appendChild(form); 

    form.submit(); 
} }, 10); </script> 

출처 : https://gist.github.com/daaku/586182

관련 문제