クリックイベントを収集するページがあり、それらの場所を別のページの600pxx750pxのボックスに比例的にマッピングしたいと思いますevent.pageX
。event.pageY
つまり、ボックス内に他のページのスクリーンショットがある場合、クリック位置のマーキングが同じ場所に視覚的に表示されます。
($('body').width(), $('body').height())
、、(document.body.offSetWidth, document.body.offSetHeight)
を自由に使用できることはわかってい(screen.width, screen.height)
ますが、正確な比率を得るためにこれらを組み合わせるのが最善かどうかはよくわかりません。
現在、私は(sudoコードで)使用しています:
x_ratio = 600 / document.body.offSetWidth
y_ratio = 750 / document.body.offSetHeight
new_x_position = event.pageX * x_ratio
new_y_position = event.pageY * y_ratio
ボックス内のクリックイベントのマーキングは
<div id='click_marker'
style="position: relative; top: new_y_position px; left: new_x_position px;">
</div>
しかし、これはブラウザや画面サイズ全体で精度を維持しているようには見えません。1つのブラウザと画面サイズでクリック位置を取得し、任意のブラウザと画面サイズで正確にマッピングできるようにしたいと思います。
この計算を一貫して正確に行うにはどうすればよいですか?