wordpress ブログに 2 つの異なるスタイルシートを用意しようとしています。これにより、Web 経由でページにアクセスするときに 1 つのスタイルシートが使用され、iOS アプリ経由でブログ コンテンツにアクセスするときにもう 1 つのスタイルシートが使用されます。現在、iOS アプリからの URL リクエストに ?app=true を追加しています。これは、ブログでこの文字列を検索して、別のスタイルシートをロードできるようにするためです。JSON API プラグインを使用して、iOS アプリがプログラムでブログ投稿を取得し、iOS アプリの Web ビューに表示できるようにします。
私の wordpress ブログでは、URL で ?app=true を検索する JavaScript を使用しています。そうであれば、別のスタイルシートをロードします。
<script language="javascript" type="text/javascript">
var location = window.location.href;
if(location.indexOf("?app=true") > -1) {
document.write("<link rel=\"stylesheet\" type=\"text/css\" href=\"appstyle.css\" />");
}
</script>
このコードは、wordpress テーマの header.php ファイルのタグ内に配置されています。
私が使用しようとしているスタイルシートは appstyle.css と呼ばれ、header.php と同じディレクトリにあります。
私が抱えている問題は、このコードを使用すると、ブラウザーのページが無限にリロードされることです。問題は document.write 関数にあるようです.それがなければ、Webページは正常にロードされます(ただし、明らかに appstyle.css スタイルシートをロードしていません)。
私もこのifステートメントを試しました:
if(window.location.search.indexOf('?app=true') === 0)
しかし、違いはないようです。
iOS アプリと Web でロードされているかどうかに応じて、異なるスタイルシートをロードするより良い方法はありますか? 私のコードで間違っていることはありますか?