Javascript 跨域表單提交狀態的變相判斷

<pre name="code" class="html">通過表單在iframe內向一個跨域的url提交的時候,如何判斷提交成功了呢?
這個,基本上,很難,因爲瀏覽器安全沙箱的限制,我們沒有辦法通過獲得iframe內部不同域頁面的信息。換種思維,如果開始可以獲得iframe內部頁面信息,那麼不能獲得的時候,不就說明表單已經提交了麼~
百度提供給競價用戶使用的商務中心留言本就是採用此方法


實例:<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"></head><body style="background:#a7a7a7;"><iframe id="testiframe" name="testiframe"></iframe><form method="post" action="http://www.test.com/testaction.asp" target="testiframe" name="testform"><input type="text" name="dddd"><input type="submit" value="ddd" name="submitbtn"/></form></body><script>document.testform.onsubmit = function () { document.testform.submitbtn.disabled = true; submitMonitor();}function submitMonitor () { try{ var hash = document.getElementById('testiframe').contentWindow.location.hash; setTimeout(submitMonitor,100); } catch (e) { document.getElementById('testiframe').src = "about:blank"; document.testform.submitbtn.disabled = false; }}</script></html>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章