###iOS端末でページ遷移する前にajaxでデータ送信したい
ページ遷移前の座標を取得してajax送信したいと思っています。
(全てのページに対して1つのイベントで処理したいため、各ページのページ遷移イベントに対して処理を書くのは難しく、preventDefaultを使わない方法を考えています)
PCやAndroid端末は問題無く取得出来ているのですが、
iOS端末だけ取得が難しい状況です。
mouseonやclickイベントで取得しようとしてもajax処理前にページ遷移してしまいます。
touchstartでは4割くらいの確率で取得が出来ます。
beforeunloadを使用しようかと思いましたがiOSでは反応せず、
pagehideを使ってみましたがこちらも反応しませんでした。
iOSでページ遷移前にajaxでデータ取得するのは無理なのでしょうか?
(JQueryは使用していませんがJQueryなら実現出来る等の情報ありましたら幸いです)
すみません、ご指摘頂きましたのでソース追記させて頂きます。
(長いので質問部分のみに成形しています)
window.onload = function () { var body_content = document.body; var body_children = body_content.children; for (var i = 0; i < body_children.length; i++){ body_children[i].addEventListener( "click", function( e ) { var touchObj = e.changedTouches[0]; var x = touchObj.pageX; var y = touchObj.pageY; var req = new XMLHttpRequest(); req.open('POST', 'https://test.com', true); req.setRequestHeader('content-type','application/x-www-form-urlencoded;charset=UTF-8'); req.send('ajax=true' + '&x=' + x + '&y=' + y ); }); } }
あなたの回答
tips
プレビュー