0

schema.org マークアップを保持する DIV を含む HTML テンプレートがあります。DIV コンテンツは PHP を介して入力されますが、一部の DIV は、入力するデータが不足している場合に空白または空のままになります。現在、以下の JavaScript を使用してフィールドの長さをチェックすることで DIV を非表示にすることができますが、これはクライアント側であるため、Google のリッチ データ テスト ツールは依然としてコード内の schema.org マークアップを認識し、コンテンツが欠落しているか空であり、不平を言っています。欠落しているデータ。

そのため、処理する前にサーバー側で空の場合は非表示の DIV が必要です。このJavascriptチェックに相当するPHPが何であるかわかりません。

使用中の JavaScript メソッド

<script>
var inside = document.getElementById("persona");
if(inside.innerHTML.length < 1)    {
        document.getElementById("staffm").style.display = "none";
    }    else    {
        document.getElementById("staffm").style.display = "block";
    }
</script>

私が使おうとした忌まわしい PHP コード (バージョン 30 億の何か)

<?php
  $div = getElementById('staffm');
  if (ob_get_length($div) < 1) {
    $div->setAttribute("style", "display:none");
  } else {
    die('');
  }
?>

これがどこにも正しくないとは思いませんが、正直なところ、この種のタスクに関する「単純な」リソース/投稿を見つけることができません. . ですから、どんな助けでも大歓迎です。

4

1 に答える 1

4

PHP はクライアントではなくサーバーで実行されるため、PHP での "getElementById" の使用は無効です。そのため、サーバー言語 (PHP) を使用して、クライアント Web ブラウザーにある html オブジェクトにアクセスしようとしています。XMLHttpRequest オブジェクトを使用して Javascript と PHP を「通信」するために、DOM 操作と Ajax について学ぶことをお勧めします。

于 2013-04-29T03:31:43.033 に答える