JavaScriptを教えてもらう
レス数が950を超えています。1000を超えると書き込みができなくなります。
0001jjj
2006/05/17(水) 17:55:17ID:pZC05JBa0868nobodyさん
2008/07/17(木) 22:02:06ID:???0869nobodyさん
2008/07/23(水) 00:52:37ID:oIa4vEgNあるシステムで、入力画面Aと、プレビュー画面Bがあるとします。
ユーザが入力画面Aで何か入力した後、確認ボタンを押すとプレビュー画面Bが表示します。
プレビュー画面Bの戻るボタンを押すと入力画面Aに戻ります。
この、前の画面に戻るときに、javascriptのhistory.back()を使っています。
ここで、history.back()を使わないで、プレビュー画面Bから入力画面AにPOSTする方法もあると思うのですが、
どちらの方法が一般的でしょうか?またその理由をお願いいたします。
0870nobodyさん
2008/07/23(水) 12:56:46ID:???■history.back()を使う方法の良い点
・実装が簡単
・保守も簡単
■history.back()を使う方法の悪い点
・ブラウザのキャッシュ内にデータが保持されるので、ネットに流れていない気がするが実はチャント流れている
・JavaScriptオフな環境だと使えない
・ブラウザのキャッシュ内にデータが保持されるので、端末を複数人で共有している場合、入力内容が他人に読まれる場合がある
■history.back()を使わない方法
1)クッキーを使う
2)PHPでセッションを使う
●どちらが一般的か?
1)2)の方法は、最初の画面で入力した情報を他のページでも使いたい場合に使う。
特に多数ページで情報を共有する必要がないならhistory.back()でも良いと思う。
1)2)の方法は、入力途中でブラウザが終了してしまっても、再度アクセスして途中から入力を再開する事ができる(プログラミング方法による)。
history.back()は、残らない可能性が高い(ブラウザの設定による)。
0871nobodyさん
2008/07/23(水) 19:10:16ID:???0872>>869
2008/07/23(水) 23:08:33ID:ctM608Bpありがとうございます。
0873nobodyさん
2008/07/24(木) 00:36:18ID:???そのセルの背景色を変えようとしていますが、childNodes では
td のアタ他をゲットすることは出来ないのでしょうか?
var i;
var hot =document.getElementById('max').childNodes;
var stra=hot.length;
for (var i=0;i<stra;i++){
if ( Number( stra ) > 0 ) {
stra[i].style.backgroundColor="#ffcccc";}
}
0875nobodyさん
2008/07/24(木) 17:33:25ID:???0876873
2008/07/24(木) 18:42:01ID:???アタ他 → 値 ミスインプット orz
それで、どのようにすりゃ、col に与えた id (この場合 max)から
td の テキストを取り出せるかというものです。
すんません、教えて君で。
0877nobodyさん
2008/07/24(木) 18:51:11ID:???0878nobodyさん
2008/08/02(土) 04:16:50ID:???外部ファイルの記述部分に %aff とかあるのですが、その部分が文字化けして読み込まれてしまいます。
\%とかでエスケープできないかと試したけどだめだったので、何か方法があれば教えてください。
0879nobodyさん
2008/08/02(土) 09:18:23ID:???%aff という文字列を、そのまま書き出したいってことです。
0880nobodyさん
2008/08/02(土) 13:06:12ID:???ソースください
0881nobodyさん
2008/08/02(土) 13:20:41ID:???ようするに、ランダムの結果の文字列をそのままHTML内に表示したいのですが、2バイト文字に変換されちゃってるみたいです。
abcd=new Array(2);
abcd[0]="%aff";
abcd[1]="%%aff";
aaaa = Math.floor(Math.random() * 2);
document.write(abcd[aaaa]);
0882nobodyさん
2008/08/02(土) 13:33:29ID:???<script src="test.js"></script>
という風にしてみたが普通に%affか%%affが表示されるが。
どういう環境で実行してるの?
0883nobodyさん
2008/08/02(土) 13:50:05ID:???こちらのリンク化の場合だけでした;;
手間かけて申し訳ありませんです。
abcd=new Array(2);
abcd[0]="=<%aff";
abcd[1]="<a href='http://www=<%%aff>'>あああ</a>'";
aaaa = Math.floor(Math.random() * 2);
document.write(abcd[aaaa]);
0884nobodyさん
2008/08/02(土) 14:56:56ID:???%25%25aff
とかならいいのか?
0885nobodyさん
2008/08/02(土) 20:20:27ID:???http://www=<%□>/ ってなっちゃいます。
へんじおくれてすみません。
0886nobodyさん
2008/08/02(土) 20:48:35ID:???↓の件だと、ブラウザ左下で文字化けするのですが、アドレスこぴぺでは正常でした。
アドレスコピペでもバグってたので、その状況を今再現してるので、再現したらまた書き込みます。
0887nobodyさん
2008/08/02(土) 20:54:39ID:???( ゚ω゚ )
0888nobodyさん
2008/08/02(土) 21:44:21ID:???これだとアドレスもhttp://www=/%3C%%aff%3Eに変わっちゃいました。
この条件で、ブラウザ左下とアドレスも表記そのままにしたいのですが・・
0889nobodyさん
2008/08/02(土) 21:58:20ID:???どう考えてもブラウザの仕様だろ・・・
0890nobodyさん
2008/08/02(土) 22:34:23ID:???HTML内に直接javascriptを記述すると大丈夫ですが、外部読み込みだと変数が適用されないので、<%aff>の部分だけHTML内で<%aff>の前後部分は外部jsファイルってのは可能なんでしょうか?
0891nobodyさん
2008/08/03(日) 01:15:41ID:???0892nobodyさん
2008/08/04(月) 11:53:14ID:???普段ホームページビルダー使用してます。
PopBoxの様な画像表示をやりたいのですが
上にもある日本語解説サイトをみても、さっぱり
やり方がわかりません。
上記サイトにあるscriptを head と headの間にいれていけ
ばいいのでしょうか?
<script src="/yoursite/scripts/PopBox.js" type="text/javascript"></script>
上記「/yoursite/scripts」の部分は変更してください、とあるのですが、
yoursite= 私のURLを入れればいいんですよね?
で、scriptsとは何になりますか?
素人質問ですみません。それとも素人にはむりでしょうか・・・。
両親の会社のサイトをボチボチ作ってます。使用できたら
嬉しいのですがやっぱり無理かな。
0893nobodyさん
2008/08/04(月) 13:45:14ID:???0895892
2008/08/04(月) 15:06:35ID:???働きながら作成しているので、時間がどうしても限られしまう
ので簡単にできる方法は?なんて楽な方へ考えていました。
ダメですね。少しでもよくなるよう、勉強してみます。
>>894さん、ありがとうございます。
でも今のところ予算ないので、自分でなんとか頑張ってみます。
0896nobodyさん
2008/08/05(火) 05:19:23ID:???を日本語にすることはできますか?
別にそこが日本語でなくてもよいのですが、
呼び出しだけ
<A HREF="javaScript:この部分が日本語()">
にできればいいんですけど。
0897nobodyさん
2008/08/05(火) 05:27:28ID:???0898nobodyさん
2008/08/05(火) 05:30:18ID:???0899nobodyさん
2008/08/05(火) 05:31:31ID:???0900nobodyさん
2008/08/05(火) 05:47:04ID:???できるのか、出来ないのかを知りたい訳で、出来ない場合の解決法を聞いてる訳ではないです。
ブラウザ側で呼び出し用の関数が見える場合に、それが日本語になればいいのです。
0901nobodyさん
2008/08/05(火) 09:58:54ID:???すごいな。
質問は受け付けず自分の言いたいことだけ言うって。
できるのかできないのかを知りたいならできるよ。
0902nobodyさん
2008/08/05(火) 10:43:53ID:???できる、って言い切って大丈夫?
文字コードやブラウザに関係なく、できるって言い切って大丈夫?
俺はこんな面倒なこと検証する気はしないw
0903nobodyさん
2008/08/05(火) 12:43:28ID:GTIhml3uピザでも食ってろデヴ!
0904nobodyさん
2008/08/05(火) 12:43:50ID:???0905nobodyさん
2008/08/05(火) 13:01:08ID:???0907nobodyさん
2008/08/09(土) 23:53:31ID:???下記のような構成でイメージを表示してあるinputがあったとします。
<from name="フォーム名">
<table>
<tr id="oya">
<td><input type="image" id="(適当なid)" src="(リンク用の画像ファイル)" onClick="window.open(適当に遷移)"></td>
</tr>
<tr id="ko">
<td>適当なデータ</td>
</tr>
</table>
</from>
このとき、このページを読み込んだ時に「親行に対して子行が存在しなかったら親行のリンクを不可にする」
というjsを組みたいと思っています。その中で質問が2点あります。
0908nobodyさん
2008/08/09(土) 23:54:25ID:???ホームページを回ってると「if(オブジェクト名)」で判定できる、という記述を見つけたので
「if(ko)」で判定しようと思いましたが、エラーになってしまいました。
どうにかしてオブジェクトの存在有無をチェックする方法はないでしょうか?
2.inputのタイプ変換
以前、
new_name =( 新しい画像ファイル名);
var obj = self.document.all["oya"];
obj.src = new_name;
といった感じで条件によって画像を切り替えるというものを作ったことがありますが同じように
new_name = "hidden";
var obj = self.document.all["oya"];
obj.type = new_name;
と、言うようにし、隠し項目にしてリンクをできないようにしようと思いましたがエラーになってしまいました。
typeを後から変更することは不可能なのでしょうか? また、不可能なら何か別の手法はありませんでしょうか。
よろしくお願いします。
0909nobodyさん
2008/08/10(日) 00:27:52ID:???0910nobodyさん
2008/08/10(日) 01:44:41ID:???>「if(ko)」で判定しようと思いましたが、エラーになってしまいました。
エラー出るサンプル
>typeを後から変更することは不可能なのでしょうか?
よくわからんけどIEだとエラーになるね。要素ごと消すかCSSで消すか
document.all["oya"].style.display = "none";
0911nobodyさん
2008/08/10(日) 12:38:49ID:zYH/+lU8失礼しました。作ろうとしたソースを記載します。
function tesuto(){
if(!self.document.all["ko"]){
new_name = "hidden";
var obj = self.document.all["oya"];
obj.type = new_name;
}
このようなソースをonloadで呼び出そうとしていました。
ですが、ifの判定が上手くいかないのと、typeをhiddenに
切り替えようとした際にエラーになる状況に陥っています。
0912nobodyさん
2008/08/10(日) 22:44:27ID:???もうなんかめんどくさいから自分でサンプルはるお。参考にして
<input id="oya" type="button" value="oya">
<!-- <input id="ko" type="button" value="ko"> -->
<script>
if( !document.getElementById("ko") ) {
alert( "koが無いからoya消す" );
document.getElementById("oya").style.display = "none";
}
else {
alert( "koがあるよ" );
}
</script>
0913nobodyさん
2008/08/14(木) 16:21:51ID:zmorsig9数字の前に%を付けるにはどうすればいいでしょうか?
また、javascriptで、%1234 というような数値は何かを
意味するのでしょうか?
function test( varNumber ){
return '%'+varNumber;
}
0914nobodyさん
2008/08/14(木) 17:03:36ID:???0915nobodyさん
2008/08/14(木) 17:20:23ID:zmorsig90916Logue ◆grDYeooZwg
2008/08/17(日) 11:10:04ID:???FireFoxでは読み込まれるのにIEだと失敗する。
ページにスクリプトのソースをコピーして<script>タグに貼り付けるとIEでも動くだけに、
どうデバックすればいいんだろ?
だいたい、こんな感じのスクリプト
dojo.provide("hoge")
hoge = {
init: function(){
...
},
elem: {
xx: '0',
yy: '1',
}
}
0917Logue ◆grDYeooZwg
2008/08/17(日) 11:13:33ID:???dojo.provide("hoge")
hoge = {
init: function(){
...
},
elem: {
xx: '0',
yy: '1' ← ,があるとだめでした。
}
}
0918nobodyさん
2008/08/17(日) 21:50:01ID:???0919nobodyさん
2008/08/19(火) 02:36:56ID:2458cJCT以下のようにしているのですが、
もっとエレガントに出来ないものでしょうか?
// クラス定義
var Foo = Class.create({
// インスタンス変数
instanceVariable: "",
// インスタンスメソッド
instanceMethod: function() {
}
});
// クラス変数
Foo.classVariable = "";
// クラスメソッド
Foo.classMethod = function() {
};
0920nobodyさん
2008/08/19(火) 02:50:26ID:???0921nobodyさん
2008/08/23(土) 01:31:44ID:???0922nobodyさん
2008/09/01(月) 17:39:20ID:???window.open("/sub.html",null);
// --></script>
上のソースの様にポップアップを出しています。
ie6ではポップアップブロックが働いて、
「許可する」を選択して表示されると思います。
この「許可する」を選択し、いきなりポップアップが
開くのではなく、間にワンクッション入れたいと
思ってます。
「本当にポップアップを開きますか?」という
ダイアログを出してYESだったら開く、
NOだったら開かないということをしたいのですが、
どうすればよいでしょうか?
教えてください。
0923nobodyさん
2008/09/01(月) 18:04:19ID:???if( confirm("「本当にポップアップを開きますか?」") ) {
window.open("/sub.html",null);
0925nobodyさん
2008/09/01(月) 21:17:23ID:???0926nobodyさん
2008/09/01(月) 23:39:03ID:???0927nobodyさん
2008/09/02(火) 12:28:58ID:???buf[i+1]
のように記述するにはどうしたらよいのですか?
0929nobodyさん
2008/09/14(日) 09:46:28ID:???ブラウザのソースを見ても、アドセンス鯖の.jsを読んでるだけですよね?
で、質問なんですが、
実際表示される広告の内容を、調べたいのですが、
可能でしょうか?
自分でブラウザで見ればいいだろってのは無しです。
あと、自宅鯖なんで、融通はききます。
誰か知ってたら教えてください。
0930nobodyさん
2008/09/14(日) 09:53:13ID:???0931nobodyさん
2008/09/14(日) 09:57:24ID:???回答ありがとうございます。
それは自鯖からアドセンス鯖へ
投げて、帰ってきた内容を調べる
ってことですよね?
各ユーザで広告表示されたときに、
なにが表示されているか、トレンドを
知りたいのです。
なんか無理な感じがしてきました。
0932nobodyさん
2008/09/14(日) 10:08:20ID:???0934nobodyさん
2008/09/14(日) 10:13:20ID:???0935nobodyさん
2008/09/14(日) 10:19:14ID:???グーグルアドセンスを例に説明しましたが、
自鯖で表示される広告と他PCで表示される
広告は違うんです。
後付説明ですみません。
0936nobodyさん
2008/09/14(日) 12:55:18ID:???0937nobodyさん
2008/09/14(日) 13:12:02ID:???0938nobodyさん
2008/09/14(日) 13:28:05ID:???0939nobodyさん
2008/09/14(日) 13:39:01ID:???ありがとうございます。
調べてみます。
また戻ってきます。
引き続き、こんな案あるよとかあればうれしいです。
0940nobodyさん
2008/09/14(日) 16:32:48ID:???.replaceで置換ではなく、文字列検索したい。
基本がなっていないのだと思うが、どこかに
document.body.innerHTMLの後ろに書ける内容が
説明されているマニュアルってないですか?
0941nobodyさん
2008/09/14(日) 17:22:36ID:???<div id="hoge">
<script type="text/javascript" src="ad" charset="foo"></script>
</div>
<script type="text/javascript">
alert(document.getElementById('hoge').innerHTML);
</script>
これでいいんじゃないの?
ちなみにinnerHTMLは文字列ね
0942nobodyさん
2008/09/14(日) 17:34:43ID:???すみません、この意味が分かりません。
0943nobodyさん
2008/09/14(日) 18:02:09ID:???0944942
2008/09/14(日) 18:05:42ID:???<HTML>
<HEAD>
<TITLE>タイトル</TITLE>
</HEAD>
<BODY>
ボディだよ。
<SCRIPT LANGUAGE="JavaScript" TYPE="text/JavaScript">
<!--
alert(document.body.innerHTML);
// -->
</SCRIPT>
</BODY>
</HTML>
0945nobodyさん
2008/09/14(日) 18:11:25ID:???0946942
2008/09/14(日) 18:18:31ID:???0947942
2008/09/14(日) 19:19:57ID:???広告の内容が取得できないことが分かりました。
どうすればいいのでしょうか???
0952942
2008/09/14(日) 21:34:03ID:???でかい口たたいてもいいので、教えてください。
0953nobodyさん
2008/09/14(日) 23:34:15ID:???____
/ \ /\ キリッ
. / (ー) (ー)\
/ ⌒(__人__)⌒ \ できもしねーのにでかいくちたたくな
| |r┬-| |
\ `ー'´ /
ノ \
/´ ヽ
| l \
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、.
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
____
/_ノ ヽ、_\
ミ ミ ミ o゚((●)) ((●))゚o ミ ミ ミ だっておwwwwwwwwwwwwwwwww
/⌒)⌒)⌒. ::::::⌒(__人__)⌒:::\ /⌒)⌒)⌒)
| / / / |r┬-| | (⌒)/ / / //
| :::::::::::(⌒) | | | / ゝ :::::::::::/
| ノ | | | \ / ) /
ヽ / `ー'´ ヽ / / バ
| | l||l 从人 l||l l||l 从人 l||l バ ン
ヽ -一''''''"~~``'ー--、 -一'''''''ー-、 ン
ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒))
0954942
2008/09/15(月) 06:40:44ID:???やる夫とかどうでもいいです。
0955942
2008/09/15(月) 07:02:00ID:???>>941の方法だと以下のようなadのソースが取得できるとこまで分かった。
<iframe src="ad2.html">
</iframe>
0956nobodyさん
2008/09/15(月) 07:29:39ID:???Web制作板に本スレがあるんでそっちに移動って事で
(´Д`;)、 ドウカオネガイシマス
ノノZ乙
0957942
2008/09/15(月) 07:29:46ID:???JavaScriptだと取得出来ないんですね。
もう手はないのかな。。。
0958nobodyさん
2008/09/15(月) 10:44:47ID:???0961nobodyさん
2008/09/19(金) 00:30:36ID:QQlfDRDlどうもfor文の$('img[' + i + ']')あたりが原因みたいなのですがいまいち判りません。
どこが問題なのでしょうか?
------以下ソース(抜粋)----------
function loop(){
var a = new Ajax.Request{
onComplete: function(request){
/* データ取得→配列dataへ */
for(i=0;i<10;i++){
$('img[' + i + ']').src = data[i];
}
<body onload="setInterval('loop()',5000)">
for(i=0;i<10;i++){
document.write("<img id='img[" + i + "]' src=dummy.jpg>");
}
---------ここまで-------
body内でdocument.writeを使ってるのがダメなのでしょうか?
※下記のようにforループを使用せず下記のようにするとエラーは出ません。
var i = 1;
$('img[' + i + ']').src = data[i];
<img id="img[1]" src=dummy.jpg>
0962nobodyさん
2008/09/19(金) 01:31:20ID:???0963nobodyさん
2008/09/19(金) 02:27:22ID:???0964961
2008/09/19(金) 06:31:34ID:???ループが10回なのはミスです。10回でも30回でも変わらないと思います。
>>963
自分で書いたエラー発生の表示しかなかったので
onException: function(request){
alert('例外エラー発生');
}
Firefoxのエラーコンソールには表示されませんしIEのエラー表示アイコンも出ません
0965nobodyさん
2008/09/19(金) 12:57:21ID:???0966nobodyさん
2008/09/19(金) 17:35:10ID:knutZtUTjavascript:openNewWindowで複数配置して、押すと表示されますが、
他のも押すと、前に表示してた、ウインドウが最小化されてしまいます。
ブラウザで押すたびにウインドウが重なって表示するような方法ありますか?
レス数が950を超えています。1000を超えると書き込みができなくなります。