0

私の会社のWebサイトのヘッダーには、ライブチャット機能を表示するjavascriptを呼び出すこのコードがあります。1ページだけに表示しないようにする必要がありますが、現在のシステムを実際に解体することはできません-構築しているページにはユニバーサルヘッダーを含める必要があるため、ヘッダーを例外にするようにしようと考えました代わりに私のページのために。チャット機能を表示するコードは次のとおりです。

<?php if(empty($_SERVER['HTTPS'])): ?>
<script type="text/javascript" id="*******" src="//www.ourdomain.com/support/scripts/track.js"></script>
<img src="http://www.ourdomain.com/support/scripts/pix.gif" onload="LiveChatFeature.createButton('11111111', this);" style="display:none" />

<?php else: ?>
<script type="text/javascript" id="*******" src="https://www.ourdomain.com/support/scripts/track.js"></script>
<img src="https://www.ourdomain.com/support/scripts/pix.gif" onload="LiveChatFeature.createButton('11111111', this);" style="display:none" />
<?php endif; ?>

そこで、次のコードを記述しました。ここで、my-pageは、チャット機能を表示しないようにする必要があるページです。

<?php if(strpos($_SERVER['REQUEST_URI'],'my-page')): ?>

しかし、これを既存のヘッダーifステートメントに導入し、チャットコードを表示しないという点で、ここからどこに進むべきかは本当にわかりません。賢明で経験豊富な人々が私に少し方向性を与えることができますか?ありがとう!

4

1 に答える 1

2

私はPHPに少し錆びていますが、あなたが望んでいるのは、ifステートメントがtrueを返し、それから、そしてそのときだけ、チャットコードを正しく含める必要があるということです。

<?php if (strpos($_SERVER['REQUEST_URI'],'my-page')) : ?>

上記のコードは、文字列が見つからない場合はFALSEを返す可能性がありますが、見つかった場合は数値(文字列のインデックス)を返すため、奇妙な結果が得られます。見つからなかったことを100%確認するには、次のことを確認します。

 <?php if (strpos($_SERVER['REQUEST_URI'],'my-page')===FALSE) : ?>

したがって、2つの条件を組み合わせると次のようになります。

 <?php if (empty($_SERVER['HTTPS']) && (strpos($_SERVER['REQUEST_URI'],'my-page')===FALSE) ): ?>

これがお役に立てば幸いです。

于 2013-02-09T05:23:20.650 に答える