Phonegap アプリで方向の変化を検出するために (横向きと縦向きで異なる CSS ファイルを読み込むため) 、ここからいくつかのコードを調整しました。「null のプロパティ 'コンテンツ' を読み取れません」というエラーが発生しました。これは、DOM 呼び出しに何か問題があることを意味します。コードには、これらの疑似要素をプライマリ CSS ファイルに追加することが含まれます。
/*Orientation Detection Hack*/
body:after {
content: "";
position: absolute;
color: transparent;
}
@media all and (orientation: portrait) {
body:after {
content: "p";
}
}
@media all and (orientation: landscape) {
body:after {
content: "l";
}
}
/*end of orientation detection*/
そして、このイベント リスナーは、向きの変更時に疑似要素をチェックします。
/*ORIENTATION CHANGES*/
//get style of the body:after element
var bodyAfterStyle = window.getComputedStyle(document.body, ":after");
window.onorientationchange = function() {
navigator.notification.alert(
'ORIENTATION CHANGELOL', // message
'Credits', // title
'Credits'); // buttonName
if(bodyAfterStyle.content == 'p') {
/*whatever
navigator.notification.alert("Now in Portrait");
var sheet = document.createElement('link');
sheet.innerHTML = 'href=\"portrait.css\" rel=\"stylesheet\" type=\"text/css\"';
document.body.appendChild(sheet);
end whatever*/
}
else if(bodyAfterStyle.content == 'l') {
//do landscape stuff
}
}
/*END OF ORIENTATION STUFF*/