0

私は何時間も検索してきましたが、おそらくJavaの知識が限られているため、少しですが立ち往生しています..

私はウェブサイトを開発していますが、できるだけ簡単に変更できるようにしたいと考えています。ユーザーにホームページをロードしてもらい、別のボタンをクリックすると、それに応じてページのhtml「メインコンテンツ」が変更されます。

これについての私の理由は、インデックス ページのフォーマットを更新したい場合に 1 つのページだけを更新する必要があるように、すべてを本当にクリーンでシンプルに保ちたいということです..

これにはJavaが必要だと思います..

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Prodigy Doo Design</title>
<link href="template/style.css" rel="stylesheet" type="text/css" />
</head>

<body>


<?php include('template/header.php'); ?>
<div class="pad50px900wide"><!--Padding after headder--></div>
<?php include('template/nav.php'); ?>

<!--*****************************
********* BODY CONTENT***********
******************************-->
<div class="bodyContent"><?php include('text.html'); ?></div>
<!--*****************************
******END OF BODY CONTENT********
******************************-->

<?php include('template/footer.php'); ?>

</body>

「BODY CONTENT」として非常に強く示されている部分は、私が変更したい部分です..私は何とか言うことができると思っていました:

ホームボタンをクリックした場合 -> 「home.html」を含める

ボタンをクリックする場合 -> 「about.html」を含める ... ...

これをコードに入れる方法がわかりません..

ここで私がこれまでに得たものを見ることができますhttp://pddtest.webuda.com/ (わからない場合は、ほとんどのブラウザーでサイトのソース コードを表示すると、参照ファイルがすべて読み込まれるかのように読み込まれます。そもそも一緒なので、何をしようとしているのか分かりやすいかもしれません)

私が少しあいまいな場合は申し訳ありませんが、どんな助けも本当に高く評価されます.ivは何年もの間インターウェブをクロールしており、これはおそらくかなり単純であることを知っています.

4

4 に答える 4

1

あなたが達成しようとしているのは、メインコンテンツのみが変更されるベーステンプレートだと思います。つまり、ベーステンプレート(または呼び出したい場合はページ)を編集し、他のすべてのページを編集します。

このために必要なのは、基本的なPHPだけです。ここでは、応答とともにGET変数でファイル名を送信します。

<a href="index.php?file=about">About</a>

そして、インクルードがどこにあっても、この変数をphp拡張機能に追加するだけです。

<?php include ($file.".php"); ?>

そしてもちろん、変数がリクエストに含まれているかどうかを確認することを忘れないでください。これは非常に基本的な方法であり、安全ではないかもしれませんが、基本的なphpの優れたアプリケーションです。

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

于 2012-08-21T14:28:40.120 に答える
0

すでに PHP インクルードが発生しているため、ページの更新に必要な量を削減し、ヘッダー、フッターなどの何かを変更すると、サイト全体が変更されます。

index.php、about.php などの個別のページ (インクルードのページ内で php を使用しているため、ページは .html ではなく .php である必要があります) を作成し、通常の使用だけでそれらのページにリンクすることをお勧めします。リンク。

この方法は、SEO にも適しています。

最初に話していた方法で本当にやりたい場合は、jQuery load() メソッドを使用できます。

詳細はこちら: http://api.jquery.com/load/

于 2012-08-21T14:09:05.060 に答える
0

JavaScript、HTML、および PHP とは何かの基本を読む必要があると思います。このようにして、これを自分で取得して、より優れた開発者になることができます。

Javascript はクライアント側のスクリプトです。これは、JavaScript コードがユーザーのブラウザによって解釈されることを意味します。これにより、特定のブラウザーが JavaScript を異なる方法で解釈する場合に問題が発生する可能性があります。

PHP はサーバーサイドスクリプトです。ユーザーが閲覧しているブラウザーに関係なく、同じように動作します。同じデータが渡される限り、関数は一貫した方法で動作します。HTML (またはその他のデータですが、これはもう少し高度です) をクライアントに送信します。

HTMLはマークアップです。サーバーから返されたデータを表示する方法をブラウザに指示するだけです。

これら 3 つを組み合わせると、相互にどのように相互作用するかをよりよく理解できます。ページ上の何かがバックグラウンドで「動的」になり、ユーザーが表示すると静的 (変更されない) になる場合は、PHP を使用します。ページを更新せずにユーザー入力に動的に変更する必要がある場合は、何らかの JavaScript を実装する必要があります。

于 2012-08-21T14:13:24.070 に答える
0

これを実現するには複数の方法があります。ここでは、index.html をリロードせずに 3 つの簡単な方法を示します。

  • iFrame の使用: すべてのボタンと PageContent という iFrame を index.html に含めます。すべてのボタンをクリックすると、PageContent の src 属性を関連する html に変更するだけの JS 関数が呼び出されます。
  • Client-Side JS の使用: index.html にすべてのボタンを含めます。また、関連するすべてのページのコンテンツを非表示の DIV に含めます。各ボタンをクリックすると、他のすべての「オプション DIV」が非表示になり、関連する DIV のみが表示されます。
  • AJAX の使用: index.html にすべてのボタンと PageContent という DIV を含めます。すべてのボタンをクリックすると、サーバーにヒットするだけの JS 関数が呼び出され、ボタンにリンクされているページのコンテンツが取得され、次を使用して DIV にレンダリングされます。インナー HTML。
于 2012-08-21T14:13:57.543 に答える