人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ウェブページを作っていて、ページを読み込んだ時に同意文を表示して、同意していただいた場合だけ、ページを閲覧できるようにしたく色々なページを見ながらJavascriptを調整しているのですが、どうしても読み込んだときにプログラムが動作しないので困っています。

サンプル:http://www.body-piercing.jp/js.html

※サンプルはinputボタンで動作するように書いています。
これをonloadでページを読み込んだ際に動作するようにしたいです。


お分かりの方は是非お教えください。
よろしくお願いいたします。


●質問者: mixnuts
●カテゴリ:ウェブ制作
✍キーワード:JavaScript ウェブページ プログラム ボタン
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● pahoo
●33ポイント

「ページを閲覧できるように」という要求要件を、「同意したら、あらかじめ指定したページに遷移する」という意味に解釈しました。

であれば、d_Confirm 関数を下記のようにしたらどうでしょう。

function d_confirm () {
 dialog.confirm("××××××××××××××××××<br>××××××××××××××××××<br>同意いただけますか?<br><br>", "", 
 function (bool) {
 if ( bool ) {
 alert("同意します。");
 location.href="http://www.hatena.ne.jp/";
 } else {
 location.href="http://hogehoge.com/";
 }
 }
 );
}

(余談:hogehoge.com が実在するとは‥‥)

◎質問者からの返答

説明不足ですみません。

予め指定したページへ移動するのではなく

http://www.body-piercing.jp/js.html

へアクセスした時点で、同意文の表示(同意する か 同意しない かのダイアルログを表示)

そして、同意するをクリックすると、そのページの本文(http://www.body-piercing.jp/js.html)を表示するようにしたいです。

HTMLの構造で、scriptはページの上部に配置し、javaを読み込んだ時点で、ページの読み込みを一時停止、同意するをクリックすれば、残りのhtmlを読み込むみたいな感じにしたいです。


お分かりでしたら、よろしくお願いいたします


2 ● pahoo
●33ポイント

HTMLの構造で、scriptはページの上部に配置し、javaを読み込んだ時点で、ページの読み込みを一時停止、同意するをクリックすれば、残りのhtmlを読み込むみたいな感じにしたいです。

http通信の性質上、これはできません。1つのファイル(例:http://www.body-piercing.jp/js.html)を転送途中で止めたり、途中から転送を行うということはできません。

JavaScript でやるなら、本文を別ファイルにして、Ajax で呼び出すしかありません。


※設定された回答回数の上限になりました。さらにフォローが必要でしたら、コメント欄を開けていただくか、回答回数を増やしてください。

◎質問者からの返答

回答ありがとうございます。

ではファイルの転送を止めるのは別として、サンプル(http://www.body-piercing.jp/js.html)のjavascriptをonloadで動かすことはできますでしょうか?

document.body.onload=d_confirm();

など、色々と試してみたのですが、onloadでは動かなかったもので。

よろしくお願いいたします。


3 ● esecua
●33ポイント

できればサーバサイドで確認した方が確実だと思います。

JSはあくまでもユーザーサイドですので、ユーザー側で同意せずとも閲覧することが出来てしまいます。

サーバサイドではそうはいきませんので確実に行えます。

以下PHPで

if($_POST['yes'])

{

echo "同意しましたので、どうぞ";

}else{

echo'

同意しないと見せません!

<form action="" method="post">

<input type="submit" name="yes" value="同意">

</form>

';

◎質問者からの返答

回答ありがとうございます。

厳密にはサーバサイドがいいのですが、今回は簡易でいいのでサンプルの同意文(javascript)を読み込み時に動作できればいいと考えております。

上でも記載させていただきましたが、サンプル(http:/www.body-piercing.jp/js.html)のjavascriptをonloadで動かすことはできますでしょうか?

document.body.onload=d_confirm();

など、色々と試してみたのですが、onloadでは動かなかったもので。

よろしくお願いいたします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ