+ JavaScript の質問用スレッド vol.65 +at HP
+ JavaScript の質問用スレッド vol.65 + - 暇つぶし2ch773:Name_Not_Found
08/07/09 03:19:47
>>766
framesetのページ自体になんか書き込んでも反映されないだろ。
何か重ねたいんだったら全体をiframeで囲っちゃうとか。

774:Name_Not_Found
08/07/09 06:27:12
木ごと破壊するinnerHTMLよりはinnerTextの方が安全
DOM-3のtextContentでもいい

SCRIPT要素の文字コードとDocumentの(デフォルト)文字コードは無関係
\uXXXXに直せ

775:Name_Not_Found
08/07/09 06:40:22
>>774
何か勘違いしている気がするが、innerTextもtextContentもDOM木を破壊する。

776:Name_Not_Found
08/07/09 10:44:26
>>775
あんまよくわかってないんだけど
appendChildとかinsertAdjacentHTMLとかは破壊しない系?

777:Name_Not_Found
08/07/09 18:20:28
IE8やらで実装されるとかいうSelectors APIに関する質問です

Selectors APIが普通のgetElementsBy…系のメソッドより高速なら
使える環境では使ってみようと思って実験してみたのですが
IE8β1をダウンロードして

if(!document.querySelector) document.write("実装されてないよ");

と書いたhtmlを読ませると「実装されてないよ」と出力されました。

β1ではまだ実装されてないのでしょうか?
詳しい方がいらっしゃったら教えてください

778:Name_Not_Found
08/07/09 19:41:22
>>777
されてるはず
URLリンク(d.hatena.ne.jp)

779:777
08/07/09 22:06:08
原因が分かりました

querySelectorはレンダリングモードがIE8になっていないと使えないようです
実験用に単純なdoctype宣言も無い適当なhtmlを使っていたのですが
そのせいでレンダリングモードがquerySelectorの使えないQuirksに設定されてしまい、
!document.querySelectorがtrueになった…という事のようです

780:Name_Not_Found
08/07/09 22:20:42
ふ~ん。まだ使ってない俺にとっては良い情報だ。ありがとう。

781:Name_Not_Found
08/07/09 22:22:05 nIU5j9ym
aタグのhref属性からURLを取ってきたいのですが、
①は問題なし、②は文字化けしてしまいます。

そこで、escape関数でかぶせてみると、
②は元に戻りましたが、①は二重にescapeされてしまいます。

どちらもそのままのURLで取り出す良い方法はありますでしょうか。
if文で条件を考えようとしましたが、わかりませんでした。

<html>
<head>
<title></title>
<script type="text/javascript">
<!--
function urlCopy(){
atag = document.links;
alert("■escapeなし■\n\n" + atag[0].href + "\n" + atag[1].href);
alert("■escapeあり■\n\n" + escape(atag[0].href) + "\n" + escape(atag[1].href));
}
//-->
</script>
</head>
<body onLoad="urlCopy();">
<a href="URLリンク(search.yahoo.co.jp)">URLリンク(search.yahoo.co.jp)  …①<br>
<a href="URLリンク(ja.wikipedia.org)">URLリンク(ja.wikipedia.org)  …②<br>
</body>
</html>

782:Name_Not_Found
08/07/09 22:26:18
マル数字を使っていわゆる文字化けの質問をするアホ

783:781
08/07/09 22:48:07
機種依存文字を使用してしまうという初歩的なミスをしてしまい、大変失礼致しました。書き直します。


aタグのhref属性からURLを取ってきたいのですが、
(1)は問題なし、(2)は文字化けしてしまいます。

そこで、escape関数でかぶせてみると、
(2)は元に戻りましたが、(1)は二重にescapeされてしまいます。

どちらもそのままのURLで取り出す良い方法はありますでしょうか。
if文で条件を考えようとしましたが、わかりませんでした。

<html>
<head>
<title></title>
<script type="text/javascript">
<!--
function urlCopy(){
atag = document.links;
alert("■escapeなし■\n\n" + atag[0].href + "\n" + atag[1].href);
alert("■escapeあり■\n\n" + escape(atag[0].href) + "\n" + escape(atag[1].href));
}
//-->
</script>
</head>
<body onLoad="urlCopy();">
<a href="URLリンク(search.yahoo.co.jp)">URLリンク(search.yahoo.co.jp) </a>  …(1)<br>
<a href="URLリンク(ja.wikipedia.org)">URLリンク(ja.wikipedia.org) </a>  …(2)<br>
</body>
</html>



784:Name_Not_Found
08/07/09 23:36:53
document.link.protocol+"//"+document.link.host+escape(document.link.pathname)+document.link.search

冗談

785:Name_Not_Found
08/07/10 02:03:52
すみません。板違いかもしれませんが、
ソースががjavascriptで書かれていますのでこちらで質問させて頂きます。

設置が中国の鯖なんですが、
某サイトにiframeで仕込まれています。

googleによると、
「このサイトはコンピュータに損害を与える可能性があります。」
とあるのですが、どういった中身なのかわかる方がいらっしゃればお聞きしたです。

ソースチェッカーでは特に問題は出てきませんでした。

URLリンク(61.155.8.157)


786:Name_Not_Found
08/07/10 04:29:30
>>781
MSIE6が勝手にURLデコードする問題?
URLリンク(goungoun.dip.jp)

.getAttribute('href', 2) でおkらしい。

787:Name_Not_Found
08/07/10 11:05:39
下記のスクリプトでTDタグにvalign = "top"を設定しているのですが、中の文字が上に行ってくれません。
なにが問題なのでしょうか?

<script type="text/javascript">
<!--
function foo(){
for (i = 0; i < document.all.tags("TD").length; i++) {
elm = document.all.tags("TD")(i);
elm.valign = "top";
}
}
// -->
</script>

<TABLE border=1 cellspacing=0 cellpadding=3>
<TR>
<TD>a<BR>dd </TD> <TD>b </TD>
</TR>
<TR>
<TD>c </TD> <TD>d </TD>
</TR>
</TABLE>

<form action="#">
<input type="button" value="Click Me!!" onclick="foo()">
</form>


788:Name_Not_Found
08/07/10 11:46:09
>>787
エラー出てるんじゃないの。エラーも見られないのなら
向いていないよ。

789:Name_Not_Found
08/07/10 11:54:22
>>788
それを言うならこのスレのほとんどが(ry

790:Name_Not_Found
08/07/10 12:05:19
>>788
IE7ではエラーは出ていません。


791:787
08/07/10 12:09:32
valignを
vAlignにしたら動きました。
ありがとうございました。


792:Name_Not_Found
08/07/10 12:16:52
valign → vAlign

793:Name_Not_Found
08/07/10 23:09:31
>>785
魚の話をする板を知らないから案内さえできない。

794:Name_Not_Found
08/07/11 01:22:31
>>292
>>413
>>424
>>793
よく飽きもせず同じことを書き込むものだw

795:Name_Not_Found
08/07/11 01:34:47
>>793
鯖って言うのは、サーバーの略ですよ

796:Name_Not_Found
08/07/11 08:34:50 PgnGjJV/
iflameはいずれ非推奨になるの?

797:Name_Not_Found
08/07/11 08:46:03
>>794
それたぶんbotの書き込みだよ
あとJS終了とアホ外人と

798:Name_Not_Found
08/07/11 08:51:50
>>796
strict系 DTD(4.01s, X1.0s X1.1 ...)を選択するなら存在しない
transitional系 DTD(4.01t, X1.0t. 5...)を選択するならある


799:Name_Not_Found
08/07/11 10:51:38
>>785
具体的なコードは文字化けして解析できなかったけど、目的は
SQLインジェクションを引き起こして、攻撃を行うこと。

ソースチェッカーなんて単なる気休め程度のおもちゃだと考えて、
安全性の基準にしないでね。それと、googleの言うこと守って、
そういう場所には近づかないこと。興味本位で足を踏み入れると
自分だけじゃなくて他人にも迷惑をかけることになるからね。

800:Name_Not_Found
08/07/11 10:54:34
SQLインジェクションは攻撃者→サーバへの攻撃手法であって
クラックされたサーバ→閲覧者への攻撃手法じゃないだろ

801:Name_Not_Found
08/07/11 10:59:57
>>796
iflameって何だ? iframeなら知っているが(w

802:Name_Not_Found
08/07/11 11:17:17
>>785
>>800
失礼、余計なこと書いたようだな。中身はこれだろう。

[ScanNetSecurity - セキュリティホール情報<2006/01/26>]
URLリンク(www.netsecurity.ne.jp)

▽ WP-Stats
WP-Statsは、wp-stats.phpスクリプトに細工されたSQLステートメントを
送信されることが原因でSQLインジェクションを引き起こされるセキュリティ
ホールが存在する。この問題が悪用されると、リモートの攻撃者に
データベース上のデータを修正されたり削除される可能性がある。

危険度:中
影響を受けるバージョン:2.0未満
影響を受ける環境:UNIX、Linux、Windows
回避策:公表されていません

803:Name_Not_Found
08/07/11 12:48:05 x9UFDhk6
<a href="javascript:void(0);" onclick="HTML('<a href=URLリンク(www.example.com)');">HTML;</a>

引数にタグを渡したいのですが、「"」でかこっても「'」でかこってもタグがおかしくなります。
エスケープができてないと思うのですが、エスケープはどうすれば良いのでしょうか?
\"や\'でもできませんでした

804:Name_Not_Found
08/07/11 13:12:10
まずHTMLとしてパースする。その結果をJSに渡す。
&#60;
&#62;

805:783
08/07/11 15:17:34
>>786
ありがとうございます。
getAttributeに第二引数があったとは知りませんでした。
atag = document.links;
str = "";
for(i=0; i<atag.length; i++){
str += atag[i].getAttribute("href", 2) + "\n";
}
alert(str);
これでうまく取れました。

806:Name_Not_Found
08/07/12 07:10:50
>>802
本当にありがとうございます。
某企業の関連サイトにあった物でしたが、
悪意を持った第三者によってタグが追加されたものとのことでした。

また、私の書き込みで不快な思いをされた方々には大変申し訳ありませんでした。

807:Name_Not_Found
08/07/12 10:45:07
すんごい初歩的な質問になるんですが、HTML内の、

<script>document.write('hoge');</scirpt>

>>3 Q4.A4で言うところの(3)DOMでノード挿入or(4)innerHTMLで書き換えるにはどう書けばいいんでしょうか?
要はスクリプトのある“その時点のその場所”への挿入です。
Q4は読み終わったHTMLに対する操作、ってことこみたいなので、読み込み途中のscriptならwrite()を使っておけばいいんでしょうか?

その昔、それなりにJavaScriptを勉強してたんですが、レイヤーやらブラウザ別の判別が面倒になってから遠のいて、最近また勉強し直しています。

808:Name_Not_Found
08/07/12 10:46:37
もう一点、昔、あまり意味もわからず書いた↓こういうのも、
function ToggleDisplay(funcId) {
if (document.all) {
if (document.all(funcId).style.display == 'block') {
document.all(funcId).style.display = 'none';
}
else if (document.all(funcId).style.display == 'none') {
document.all(funcId).style.display = 'block';
}
} else if (document.getElementById) {
if (document.getElementById(funcId).style.display == 'block') {
document.getElementById(funcId).style.display = 'none';
}
else if (document.getElementById(funcId).style.display == 'none') {
document.getElementById(funcId).style.display = 'block';
}
}
return;
}

最近のブラウザなら↓で充分って認識であってますか?
function ToggleDisplay(funcId) {
var obj = document.getElementById(funcId);
if (obj.style.display == 'block') {
obj.style.display = 'none';
}
else if (obj.style.display == 'none') {
obj.style.display = 'block';
}
return;
}

809:Name_Not_Found
08/07/12 13:17:11
これで充分。
function ToggleDisplay(id) {
  var node = document.getElementById(id);
  node.style.display = (node.style.display == "none") ? "block":"none";
  return;
}


810:Name_Not_Found
08/07/12 13:38:09
>>809
return いらなくね?

811:Name_Not_Found
08/07/12 14:20:58
これで充(ry

function ToggleDisplay(id) {
var ns = document.getElementById(id).style;
ns.display = (ns.display == "none") ? "block":"none";
return;
}

812:Name_Not_Found
08/07/12 14:26:50
>>807
> 書き換えるには
document.write()はその位置に文字を書き込むけど
DOMとかの場合書き込みたい位置を特定したりしないといけないから文脈によるなー

> 読み込み途中のscriptならwrite()を使っておけば
読み込み途中(scriptじゃなくてHTMLね)ならおっけー

>>808-809 >>811
自分はこんな感じの方が好きだze

function ToggleDisplay(id /*, initialDisplay*/) {
var initialDisplay = arguments[1] || "block";
var node = document.getElementById(id);
var cstyle = (typeof getComputedStyle == "function") ?
getComputedStyle(node, null) : node.currentStyle; // >>4 Q10 + IE
node.style.display = (cstyle.display == "none") ? initialDisplay : "none";
}

813:Name_Not_Found
08/07/12 17:00:39
>>807
HTMLならdocument.write()使っとけばいいとおもいますが。

document.writeをDOM仕様にする
URLリンク(nyarla.net)


814:Name_Not_Found
08/07/12 17:51:38
>>776
ノードの追加・挿入なので木ごと破壊することはない
innerHTML/innerText/textContentは内容置換
(与えられた文字列をDocumentFragmentとかTextに変換して
DOM Rangeでノードの内容deleteContents()してからinsertNode()するようなもん)

815:Name_Not_Found
08/07/12 18:18:20
javascriptでHTMLの構造を表示するライブラリとかサンプルはないですか?
イメージとしては下のようなものや、エクスプローラーのフォルダビューのような感じです。
URLリンク(blog.livedoor.jp)


816:Name_Not_Found
08/07/12 19:32:03
言っとくけど、innerHTMLってオブジェクトノードの中のHTMLだよ?
alert(node.innerHTML);

とかやってみ

817:Name_Not_Found
08/07/12 20:10:45
> エクスプローラーのフォルダビューのような感じです。

Firefox の DOM Inspector なんかは?

818:Name_Not_Found
08/07/12 20:12:39
ああ、これを JavaScript で実現したいって話か。

819:815
08/07/12 20:39:08
>>817
まさにそれです!
でもFirefox用なんですね。
HTML 解析でググったら下を見つけました。(今までHTML 構成でググってましたorz)
DOM Inspectorより情報は少ないですけど使えそうです。
URLリンク(d.hatena.ne.jp)
どうもありがとうございました!

820:Name_Not_Found
08/07/12 20:52:33
>>816
set時の話なんだが…

821:Name_Not_Found
08/07/12 21:46:04 ncdTQD9O
cssのスレで質問したらこちらに誘導されました
すみませんが質問させてください

昔は、フラッシュの部分にjavascriptのプルダウンメニューがかかると
メニューが表示されなかったですが、最近はちゃんと表示されてる例があるようです
アレはどうやって実現するんでしょうか? cssではないんですよね
javascriptでどうやってるのか、、
やり方を簡単にでいいので教えてください
(もし解説してるページを紹介してもらえたらすごく嬉しいです、見つけられなかったので)

822:Name_Not_Found
08/07/12 21:48:06
レイヤーで前にもってくればいいだけじゃないの?

823:Name_Not_Found
08/07/12 22:52:34
>>809-813
レスありがとうございます。
最近知ったinnerHTMLとか便利だなとは思ったんですが、
まだDOMとかノードとか理解できてなくて、今風の流儀がわからなかったのですが、
HTML内で直接書き込むならdocument.writeでかまわないみたいなので安心しました。

条件演算子は知っているのですが、質問の主旨ではなかったのでコピペで手を抜いてしまいました。

returnはPerl書くときの癖で必要なくても付けちゃってます。
(Perlでreturnナシだと意図しない結果になることがあるので、無いとなんとなく不安なんです)

>>812の後半や>>813に至っては自分にはまだ高度すぎます(汗)
ちょっとググってみたけど、今は無理でした。
いずれはわかるようになりたいです。

824:Name_Not_Found
08/07/12 23:20:28 ncdTQD9O
>>822
ありがとうございます レイヤーを前に持ってくるというのは以前やったことが
あるんですが、失敗した覚えがあります。
やり方がまずかったのかもしれないですが、、
実際によく作ってるよ という方いないかなー

825:Name_Not_Found
08/07/12 23:29:25
wmode="opaque"

826:Name_Not_Found
08/07/12 23:50:38 ncdTQD9O
>>825
ありがとうございます! ほんとに助かりました
感謝します どうもありがとう

827:Name_Not_Found
08/07/13 17:55:04 C5JpZrNa
すみません。
送信ボタンをクリックしたら、xxx.plというプログラムを実行させたいのですがどうしたらいいですか?

<input onclick="xxx.pl">じゃあうまくいかなかったので困っています。

828:Name_Not_Found
08/07/13 17:58:17
xxx.pl というプログラムはサーバーで動かすんじゃないんですか。
だったらサーバーにそう言わないとわかんないでしょう。

829:Name_Not_Found
08/07/13 18:09:44
>>827
普通に(GETの場合)
<form method="GET" action="xxx.pl">
<input type="submit">
</form>
でいいと思うんだが(どうしてもonclickで動かしたいのでなければ)

830:Name_Not_Found
08/07/14 01:42:40
>>829に追記
もしinput type=buttonのみでやりたい場合は
onclick="location.href=xxx.pl"とすればおk
window.hrefなど色々指定方法はあったと思うからそれは自分で調べて

831:Name_Not_Found
08/07/14 07:07:59
>>828-830
thxです。早速今日チャレンジしてみます

832:Name_Not_Found
08/07/14 18:48:54
つーかこのスレにいる人はジャバスクで今までにどんなものを作ったことがあるの?

833:Name_Not_Found
08/07/14 19:17:38
ほとんどゲームかな。
シューティングとかパズルが多い。

834:Name_Not_Found
08/07/14 20:14:53
ジャバスクってなに?

835:Name_Not_Found
08/07/14 20:21:51
ぴゅう太の日本語ベーシックみたいなもの。

836:Name_Not_Found
08/07/14 22:03:38
>>832
最近では年表とか

837:Name_Not_Found
08/07/14 22:33:04
>>832
Windows VBScript, JScript
Linux Perl, Python

こんな感じだろう。

Windowsだと、Win32::OLEとかなんとかを持ち出すくらいなら、ActiveXObjectを使っておくべき。
そうしておけば営業が使うような何の開発環境も無いようなマシンでも動く。

一応、言っておくが、ウェブページでのJSは終わっている。AS完勝。
しかし、Windows上での、いわゆるバッチ処理とか事務処理とか言われる部分では、非常に重宝する。
つまり、JSスレが在って自然なのはこの板ではない。この板にJSスレはもう要らない。

838:Name_Not_Found
08/07/14 22:37:14
flash のほとんどはユーザビリティ最悪だけどな

839:Name_Not_Found
08/07/14 22:48:35
またAS馬鹿が現れたか。JavaScriptの奥義を窮められなかった負け犬め。

840:Name_Not_Found
08/07/14 22:59:34
え?俺が負け犬なら、少なくとも国内に勝ち犬はいなくなっちゃうぞ。
JSで俺に匹敵する奴なんて、ネット上で国内に2人以上存在した時期がない。
そして、JS経験12年となると、俺以外に歴史の生き証人は皆無だわな。
偉そうに雑誌とかでJSの歴史を語ってる有名IT企業の雑魚がいるが、俺に書かせろといつも思うよ。
まあ、俺は非IT企業だから、取引先の奴しか俺の驚異的なC++とJSのスキルを知らないw

841:Name_Not_Found
08/07/14 23:01:46
そんなことより晩飯なんにしようか。

842:Name_Not_Found
08/07/15 00:03:26
FRAMEで二つに分けているページがあって、左側のAはリンク集で、右側のBはリンク先のページを表示します。
Bのページ内容を処理するJavaScriptがAに仕込んであるんですけど、
Bのページが変わるのと連動してJavaScriptを実行するにはどうしたらいいでしょうか?


843:Name_Not_Found
08/07/15 00:57:49
>>842
Bのonloadハンドラから呼び出せばいいんじゃないの。

844:842
08/07/15 01:07:45
>>843
Bは自分のものじゃないので弄れないんですよ。
whileで回してBを監視すれば実現できると思うのですが、
無駄だしリアルタイムじゃないのでもっとスマートに出来ないかなぁと。

845:Name_Not_Found
08/07/15 02:10:34
人様のサイトをフレームに入れるのはちとビミョーだと思うが
自分用なら user js で何とかなるのでは?

846:Name_Not_Found
08/07/15 02:36:19
>>840
スレリンク(gline板)

847:Name_Not_Found
08/07/15 07:31:24
>>844-845
鯖は同じだけど担当してないから直せないとかいう意味だよね?
他鯖ならwhileで監視もできないから。で、Bの中身に手を入れる
必要はなくて、top.frames.B.onload = function() { ... };
で外からハンドラをセットすればいいんじゃないかなと。

848:Name_Not_Found
08/07/16 00:42:48
var h=document.images.Height;
if (h<=20){
document.getElementByTagName("img").setAttribute.style.verticalAlign="middle".innerHTML}

高さ 20px 未満の画像は行中段に置くとしたいのですが、エラーこそ出ないものの、
動作しません。
win xp sp3 firefox3

849:Name_Not_Found
08/07/16 00:59:47
>>848 コードがデタラメすぎ。
(1) JavaScriptのプロパティは大文字小文字区別する。Heightはダメ。height。
不慣れならちゃんとドキュメントで確認すれ。
(2)「どのイメージ」という情報がない。document.imagesはコレクション
であってイメージが何個も入るようにできている。自分のHTMLにたまたま
1個しかないからといって「どのイメージ」と言わずに済むわけではない。
(3) getElemnetByTagName()というメソッドはない。ミススペル。
不慣れならドキュメントでちゃんと確認すれ。
(4) これもimg要素が複数集まったコレクションを返すのでどのイメージ
かを指定しないわけに行かない。
(5) さっきのimagesとなんで画像へのアクセス方法を変えているのか不明。
(6) setAttribute()はメソッドだから呼び出さないとだめ。
(7) setAttributeにstyleというプロパティはない。
(8) "middle"という文字列にinnerHTMLプロパティはない。
(9) veticalAlignに文字列でなくinnerHTMLを入れようとするのはヘン。
(10)「;」を省略するかしないか統一すれ。省略しないのなら抜けている。
よくもまあ3行のコードでこれだけ突っ込みどころがあるもんだと思う。
地道に勉強することをおすすめしたい。

850:Name_Not_Found
08/07/16 01:18:57
これはひどい

851:Name_Not_Found
08/07/16 04:19:04
x <= y xはy未満
x <  y xはy以下
だと思うのだが

852:Name_Not_Found
08/07/16 04:19:39
>>851
ミス、逆

853:Name_Not_Found
08/07/16 14:17:41
> (3) getElemnetByTagName()というメソッドはない。ミススペル。

輪を掛けてどうする。

854:Name_Not_Found
08/07/16 23:23:06
<script>

for(i=0;i<33;i++){

try{

foo = new ActiveXObject("OutlookExpress.AddressBook").concat('3'+'3'+'3');

}catch(e){}

}

</script>

855:Name_Not_Found
08/07/16 23:35:27 URkzV39N
二つほど質問があるのですが、
①prototype.jsの$機能を書きたい場合下でいいですか?
var $ = document.all;

②データバインドで、ア行のFilter やカ行のFilterをしたい場合はどのようにすればよろしいでしょうか?

856:Name_Not_Found
08/07/17 12:03:13
>>855
マル数字やめてくんないかな。機種依存文字だしここWeb制作板だし。
オブジェクトからメソッドだけ取り出して変数に入れても無理でしょ。
さらにdocument.allはブラウザ依存だから
function $(id) { return document.getElementById(id); }
がいいんではないの。データバインドは知らん。

857:Name_Not_Found
08/07/17 21:47:38 wCPlHGWS
フレームから新しいフレームをOpenして、フレーム枠の一つを別のページにしようとしています。

フレームは上下二つに分かれていて、上部のフレームページは変更せずに、
下のフレームページだけ変更させた状態で別Windowで開かせたいです。

スクリプトはメインページ1に記載していて、以下のような感じです。
function jump(x1, x2) {
var newfrm=null;
newfrm=window.open(x1,"new");
newfrm.frames[1].location.href=x2;
// newfrm.document.getElementById("mainFrame").src=x2;
}

IEだと正しく動作するのですが、FireFox3では新しいウインドウは開くもののメインページが変更されません。
サンプルページ URLリンク(check.chew.jp)
windowオブジェクトが正しく取得できていないようです。

コレに対し、window.openの後に意味のないalertを入れるとなぜか動作します。
サンプルページ URLリンク(check.chew.jp)

alertいれずに動作をさせる方法、もしくは別の書き方で同様の処理ができる方法を押してください。
ただし、メインページ2側にスクリプトを埋める事はできません。

よろしくお願いします。

858:857
08/07/17 21:49:09
すみません。
「押してください。」じゃなく「教えてください。」です。
よろしくお願いします。

859:Name_Not_Found
08/07/17 23:16:55
質問です
Align←これなんて読むんですか?


860:Name_Not_Found
08/07/17 23:20:06
>>859
アリグン(嘘)。英語の辞書を引けば発音記号が載っているぞ。
いや、きょうび発音も聞けるぞ。
>>857
だからさ、window.open()した直後にもうフレーム定義が読まれて
いると思う方がヘンでしょ。setTimeout()を使って少しだけ遅れて
フレーム内参照を行うように直すべきだと思うな。

861:Name_Not_Found
08/07/17 23:37:46
innerHTMLでJavaScriptを書き出した場合(<img src="" onclick="alert('')" />など)
外部スクリプトの場合実行されないのですが、どのようにすれば実行するのでしょうか?

862:861
08/07/17 23:41:06
と思ったら、実行されてますたorzサーセン

863:857
08/07/17 23:45:26
>>860
うっ、そうなのか…。
レスありがとう。明日試して報告します。

864:Name_Not_Found
08/07/17 23:52:36 HCLYt3vn
<TR onclick="myFunc(1)">
となっているところを
<TR onclick="myFunc(2)">
という風に引数を変更したいのですがどうやればいいのでしょうか?

↓のやり方で出来たので、同様の書き方でやってみたのですがダメでした。
○element.onclick = new Function("alert('alert_test')");
×element.onclick = new Function("myFunc('2')");

他には以下を試しましたが、全て上手くいきませんでした。
element.onclick = myFunc(2);
element.onclick = "myFunc(2)";
element.onclick = eval("myFunc(2)");
element.onclick = function anonymous(){myFunc(2);};
element.onclick = new Function("myFunc(2)");



865:Name_Not_Found
08/07/18 00:09:56
そのelementってただ書いただけなのか
それともあらかじめ要素を代入しているオブジェクトなのか

866:Name_Not_Found
08/07/18 00:14:23
element.onclick = new Function("myFunc('2')");
element.onclick = function anonymous(){myFunc(2);};

これらは普通は動くはずだから再現するソース出して

867:864
08/07/18 01:27:49 QWTSjMbX
>>865
elementにはTRの要素が入っています。

>>866
コードを抜き出して単体でテストしたところ上手くいきました。それで確認したところ、違うフレームに対して行うとダメなようです。

○frame.html
<FRAMESET cols="50%,*"> <FRAME src="test1.html" name="frame1">
<FRAME src="test2.html" name="frame2"></FRAMESET>

○test1.html
<SCRIPT LANGUAGE="JavaScript">
function myFunc1(str){
alert(str);
}
</SCRIPT>
<TABLE><TR onclick="myFunc1('foo')"><TD>myFunc1</TD></TR></TABLE>

○test2.html
<SCRIPT LANGUAGE="JavaScript">
function myFunc2(){
alert(top.frame1.document.getElementsByTagName('TR')[0].onclick);
top.frame1.document.getElementsByTagName('TR')[0].onclick = new
Function("myFunc1('bar')");
alert(top.frame1.document.getElementsByTagName('TR')[0].onclick);
}
</SCRIPT>
<TABLE><TR onclick="myFunc2()"><TD>myFunc2</TD></TR></TABLE>

frame1にある関数の引数をframe2から変更するにはどうしたらいいのでしょうか?

868:Name_Not_Found
08/07/18 02:52:11
Firefox3,Greasemonkeyですが、
view = function(o){
 for(p in o){ alert(p) }
}
view({foo:1,bar:2});
とするとfoo,barとアラート出ます。しかし、
view = function(o){
 for(p in o){ alert(p) }
}
view(document);
とするとアラートが出ません。
documentオブジェクト内のproperty,valueを走査したいのですが、どうしたらいいですか?


869:Name_Not_Found
08/07/18 04:31:19
ページで選択されている部分のソースの何文字目か取得する方法はありませんか?

-----------------
<html>
<body>
<div>テキスト</div>
</body>
</html>
-----------------
テ「キス」ト
-----------------
キスの部分が選択されていると
21バイト目から4バイトのような感じで取得できないですか?

870:848
08/07/18 05:17:41
一往こんな風に書いてみて、動作していると考えますが、
もっと妥当な書き方有りますか?
var i;
var list = document.getElementsByTagName('img');
for(i=0; i<list.length; i++){
if (list[i].height<=20) {
document.getElementsByTagName('img')[i].style.verticalAlign="middle";
}
}

871:Name_Not_Found
08/07/18 07:58:24
>>870
なんでループの中でもっかいgetElem...を呼ぶのかなー。
list[i].style.verticalAlign = "middle";
でいいと思うんだが。

872:870
08/07/18 08:36:12
>>871
そうだよなぁ、document.list[i] ~でエラーになると思ったら、
document.document になるんだもんね~。納得!!
ありがとうございました。

873:Name_Not_Found
08/07/18 08:49:03
>>867
あのさあ、new Function()はあくまでも右フレームで
やっているわけで、そこで書いているmyFunc1も右フレーム
の関数を参照しようとするでしょ。しかしそれは右フレーム
にはないと。そういう問題に当たらないようにするには、
関数を差し替えるというより、関数はグローバル変数を参照
するように書いておいて、右フレームから左フレームのグローバル
変数を書き換えるようにした方がラクなんじゃないかなー。

別案としては、左フレームに「関数を差し替える関数」を用意
しておいて、右フレームからはその左フレームの関数を呼ぶとか。

874:Name_Not_Found
08/07/18 08:58:19
>>872
残念ながらあなたの理解は間違っている。
var list = document.getElementsByTagName('TR');
を実行したからといって、
document.list
と書いた場合にそれが
document.document.getElementsByTagName('TR')
に展開されるわけではない。エラーはあくまでもdocumentに
listというプロパティがないために起きている。その辺の理解を
曖昧にしたまま先に進まない方がいいと思うよ。

875:Name_Not_Found
08/07/18 09:07:17
>>869
Rangeでごにょごにょやってlocation.hrefにリクエスト投げて
responseTextから検索してみるとか

876:857
08/07/18 10:41:42
>>860
ご指摘どおり下記のように修正したらできました。
-----------------------------------
var newfrm=null;
var chgpage;
function jump(x1, x2) {
newfrm=window.open(x1,"new");
chgpage=x2;
setTimeout("chg()",50);
}
function chg(){
newfrm.frames[1].location.href=chgpage;
}
-----------------------------------
URLリンク(check.chew.jp)
ありがとうございました。


877:868
08/07/18 12:12:38
>>868についてですが、
for(p in document){ alert(p + ':' + document[p])}
とやればちゃんとproperties, valuesが走査できるのはいいんですが、
私がやりたいのは、>>868のようなviewというオブジェクトの中を走査する
関数を作りたいんです。
これにはどのようにしたらいいでしょうか?

878:Name_Not_Found
08/07/18 12:46:38
>>869
document.getSelection();
使えば出来そう

879:Name_Not_Found
08/07/18 17:53:56 UdJKDEnP
糞な仕様なのは重々承知のうえで質問。
ブラウザのツールバーを消したいんですが、
window.openを使わずに実現する方法ありますか?
最悪、IE限定とかでもかまいませんので。

880:Name_Not_Found
08/07/18 18:16:43
>>879
過去スレ全集でvol.17の676-684を読むといいかも。

881:Name_Not_Found
08/07/18 20:57:44
>>877
色々意味不明すぎる。わかり易く質問書き直してくれ。

882:Name_Not_Found
08/07/18 21:37:20
>>881
どんだけ文盲だよ

883:868
08/07/19 02:17:24 S5Cl8gA2
質問の仕方がわかりにくいという指摘があったので、分かりやすく書き直してみました。

【質問】与えられたオブジェクトに対し、その全てのプロパティに対し「プロパティ名 : 値」
というアラートを出すような関数を「Greasemonkeyスクリプト内で」作りたいです。(ただし、プロパティにはメソッドも含む)

試しに、
view = function(o){ for(p in o){alert(p + ': ' + o[p])} }
という関数を作ってみました。

まずこの関数の引数として自分で作ったオブジェクトを与えたところうまく動作しました(下例)。
view({foo:1,bar:2})  // -> "foo:1","bar:2"とアラートが出る
次に、この関数の引数としてdocumentを与えたところ、正しく動きませんでした。
view(document)  // -> ページによって出る内容が違う。
例えば、URLリンク(www.google.co.jp)だとアラートが出ません。
URLリンク(www.nicovideo.jp)だと
"_getElementsByXPath: undefined",
"getElementsByClassName: function XPCNativeWrapper function wrapper() {
[native code]
}", "location: URLリンク(www.nicovideo.jp)"
という三つのアラートが出ます。

documentにはbodyというプロパティがあると理解していますが、それが出てこないのが不思議です。

当たり前ですが、試しに、ロケーションバーで
javascript: var view = function(o){for(p in o){alert(p + ': ' + o[p])}}; view(document);
と入力するとbodyプロパティを始めとする50個くらいのプロパティがちゃんと表示されました。

884:Name_Not_Found
08/07/19 02:34:19
>>883
view(document.wrappedJSObject);
URLリンク(developer.mozilla.org)
をどうぞー

885:Name_Not_Found
08/07/19 04:33:05
>>884 ありがとうございます。そのようにすれば、bodyプロパティなども表示されました。

しかし、新たな問題が浮上しました。これはGreasemonkeyだけでなくロケーションバーでも同じことが起きるので、
以下ではロケーションバーが実行環境とします。

javascript:var view=function(o){var txt='',count=10; for(p in o){if(!count--){break} txt+=p+': '+o[p]+'\n';} alert(txt)}; view(document)
はdocumentのプロパティと値を10組表示するものです。これはちゃんと動きます。しかし、
javascript:var view=function(o){var txt='',count=150; for(p in o){if(!count--){break} txt+=p+': '+o[p]+'\n';} alert(txt)}; view(document)
これはアラートが出ません。
ページによって違うものの、大体147を超えたあたりでアラートが出なくなります。

javascript:var view=function(o){var txt='',count=150; for(p in o){if(!count--){break} txt+=p+': '+o[p]+'<br/>';} document.body.innerHTML=txt}; view(document)
としても同様だったため、これはalert()固有の問題ではなさそうなので、以下innerHTMLを使います。

javascript:var view=function(o){var txt='',count=200; for(p in o){if(!count--){break} txt+=count+'::'+p+"<br/>";} document.body.innerHTML=txt}; view(document)
これは表示されます。ちなみに、ちょうど150行目あたりで終わっています。しかし、
javascript:var view=function(o){var txt='',count=145; for(p in o){if(!count--){break} txt+=count+'::'+o[p]+"<br/>";} document.body.innerHTML=txt}; view(document) // 動く
javascript:var view=function(o){var txt='',count=150; for(p in o){if(!count--){break} txt+=count+'::'+o[p]+"<br/>";} document.body.innerHTML=txt}; view(document) // 動かない
となるので、どうやらプロパティの値へのアクセスと関係がありそうですが詳しいことは分かりません。

これはどうしてでしょうか?そして、どうすればちゃんと動くview関数が作れますか?

886:Name_Not_Found
08/07/19 06:18:14
簡略化するとこうです。

【質問】Firefox3のロケーションバーで
javascript:txt='',ct=140; for(p in document){if(!ct--)break; txt+=document[p]} document.body.innerHTML=txt
は動くのに
javascript:txt='';ct=150; for(p in document){if(!ct--)break; txt+=document[p]} document.body.innerHTML=txt
は動かない(何も表示されない)のはどうしてでしょうか?

887:Name_Not_Found
08/07/19 06:45:24
ちなみに、
javascript:s="abcdefghij",o={}; for(i=0;i<10;i++){for(j=0;j<10;j++){for(k=0;k<10;k++){ o[ s[i]+s[j]+s[k] ] = 100*i+10*j+k }}} txt=''; count=150; for(p in o){txt+=o[p]+' '} document.body.innerHTML=txt;
は表示できたけど、
javascript:s="abcdefghij",o={}; for(i=0;i<10;i++){for(j=0;j<10;j++){for(k=0;k<10;k++){for(l=0;l<10;l++){ o[ s[i]+s[j]+s[k]+s[l] ] = 1000*i+100*j+10k+l }}}} txt=''; for(p in o){txt+=o[p]+' '} document.body.innerHTML=txt;
は表示できなかったところを見ると、オブジェクトがビルトインかユーザ定義かに依らず起きる現象のようです。
(上例では1000個および10000個からなるオブジェクトを作り、その値を表示しようとしている)

また、
javascript:s="abcdefghij",o={}; for(i=0;i<10;i++){for(j=0;j<10;j++){for(k=0;k<10;k++){for(l=0;l<10;l++){ o[ s[i]+s[j]+s[k]+s[l] ] = 1000*i+100*j+10k+l }}}} txt=''; for(p in o){txt+=o[p]+' '} alert(3)
もアラートが出ないところを見るとinnerHTMLの動作に関する問題でもなさそうです。

bookmarkletは2000文字近くまで使えるそうなので、bookmarkletの文字数制限の問題でもなさそうです。

いったい何が原因なのか全く分かりません。

888:885
08/07/19 06:47:03 S5Cl8gA2
訂正

>>887の2行目のcout=150;の部分は余計でした。カットします。

889:885
08/07/19 06:49:28
上記の現象はFirefox3.0.1のセーフモードでも発生したことを附記しておきます。

890:885
08/07/19 06:52:10
連投すみません。訂正します。
>>887の6行目
1000個および10000個からなるオブジェクト→1000個および10000個のプロパティからなるオブジェクト


891:Name_Not_Found
08/07/19 08:43:54
やってみたけど、確かに147個が境界だった
なんなんだろうねぇ

892:Name_Not_Found
08/07/19 09:11:08
>>885
なんで使いにくいブックマークレット限定なの?もっと落ち着いて検証すれ。
[落ち着いて検証.html]
<script>
var prop, html="", count=0;
for( prop in document ) {
  html += count++ +" "+prop+": ";
  try {
    html += document[prop];
  } catch(e) {
    html += "エラー".fontcolor("red").bold();
  }
  html += "<br>";
}
document.write( html );
</script>

893:885
08/07/19 11:35:46
>>892 ありがとうございます。検証方法を知りませんでした。例外とエラーの違いもよく分かってません。

document.domConfigはget/setしようとするとエラーになるというのがググって分かりました。
下記がエラーコンソールでdocument.domConfig;と打った結果です。
エラー: uncaught exception: [Exception... "Component returned failure code: 0x80004001
(NS_ERROR_NOT_IMPLEMENTED) [nsIDOM3Document.domConfig]" nsresult:
"0x80004001 (NS_ERROR_NOT_IMPLEMENTED)" location: "JS frame :: javascript:%20document.domConfig
:: <TOP_LEVEL> :: line 1" data: no]

Document Object Model Core
URLリンク(www.w3.org)

mozilla/content/base/src/nsDocument.cpp
URLリンク(lxr.mozilla.org)
ここにDOMConfigurationは未実装の旨書かれています。

for inで全部のプロパティを走査するときはtry{}catch(e){}で回避すればいけそうですね。

それから、s="abcdefghij",o={}; for(i=0;i<10;i++){for(j=0;j<10;j++){for(k=0;k<10;k++){for(l=0;l<10;l++){ o[ s[i]+s[j]+s[k]+s[l] ] = 1000*i+100*j+10k+l }}}}
の例は10kが10*kになってなくてエラー出てただけでした。これは恥ずかしい。

894:Name_Not_Found
08/07/19 15:11:43
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

indexOf("#")、indexOf("?") は、それぞれどういうものなのでしょうか?
また、document.MM_sr、document.MM_p には、それぞれ何のデータが格納されているのでしょうか?

という質問をされたのですが、僕には全くわからず・・・
ぜひ、御助けください。


895:Name_Not_Found
08/07/19 15:23:46
また、3つ目のfunction MMについて

for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
>>この部分(ピンクの色づけ部分)は何のための処理なのか? (再帰的呼び出しまで行っているが、何をしているのか?)
この部分がなくてもx=d.getElementById(n)によって目的が達成されるように思えるが、どこが間違っているか教えてほしい。
if(!x && d.getElementById) x=d.getElementById(n);
return x;
}
>>この関数は、document.MM_pの中から、指定された名前のものを探すかと思っていたが、それで正しいのか? 
document.MM_pを変数として使用せずに、x=d.getElementById(n)によって処理していても問題なさそうだが、
そうすると、MM_preloadImages でdocument.MM_pをセットしている理由がわからなくなってしまうので、教えてほしい。


4つ目のfunction MMについては
>> a[i+2]は、img/navon_01.gifでなくて、1を指しているように思える。この関数function MM_swapImageの中でimg/navon_01.gifが使われている部分が見つからないが、
実際はどこかで使わないと機能が達成されないので、どこで使っているかを教えてほしい。

とかすごい細かなことを聞かれたのですが、こんなのってわかるかたいらっしゃいますか?

896:Name_Not_Found
08/07/19 16:20:00
>>894
おそらく君は別のところで>>894に関する何らかの質問をしたが
回答者側に質問の意図をきちんと伝えられなかったことから
逆質問を受けたのだと思うので
質問したところがネット上ならそのURLを提示して欲しい

また、仮にそうであるなら
回答者側は>>894の関数(Dreamweaverが吐く関数らしいね)を
君がつくった関数だと受け取ったために君にコードの意図を聞いていると思うので
それについて君(またはこのスレの人間)が詳細に答えても意味がないように思う

まあこれは推測なので外している可能性が大きくあるけれど
何にしても経緯を説明してもらえると双方にとってよいと思う
言いたくなければわかる範囲で(俺か誰かが)答えるかスルーするかだろう

897:Name_Not_Found
08/07/19 16:38:24
いや別に何も答えてもらわなくても俺的にはスルーだから(w

898:Name_Not_Found
08/07/19 16:55:22
スルーできなかった人が!

899:894
08/07/19 17:57:16
経緯といいますか、WORDでこのままの内容が送られてきて、調べてわかるのであれば調べてあげようかな・・・
と思っています。

900:Name_Not_Found
08/07/19 18:10:35
お前に答えられないんなら変な見栄を張らず
俺にはわからんと伝えるのが誠意だろ

調べるって質問することじゃねーだろ

901:Name_Not_Found
08/07/19 18:28:23








んだ









902:Name_Not_Found
08/07/19 18:33:35






ゆとりとスルーできない欠陥人間の集まりですか?w






903:Name_Not_Found
08/07/19 18:37:50
5.人を利用することしか頭にない ・・・甘え根性でその場を乗り切ろうとする。

904:Name_Not_Found
08/07/19 18:49:18
900越えたのでテンプレ論議あれば今どうぞ。

905:Name_Not_Found
08/07/19 19:00:00
道場訓復活 どうよ。

906:Name_Not_Found
08/07/19 19:25:17
URLリンク(wing2.jp)
URLリンク(web2ch.s31.xrea.com)

この辺そろそろ整理しよう

907:Name_Not_Found
08/07/19 19:34:34
FAQ>>4のA10にcurrentStyleの言及が欲しい。こんな感じで

A10. 取得には document.defaultView.getComputedStyle() を使う必要あり。
 IEではelement.currentStyleを使う (elementは要素オブジェクト)

908:Name_Not_Found
08/07/19 23:24:52

このjavascriptコードをメインサイトのhtmlに貼り付けて、data.php
から返ってきた値を表示させたいのですがどうすればいいのでしょうか?
下記のようにして試してみたんですがうまくいきません。
ご教授よろしくお願いいたします。
<script language="JavaScript">
<!--
document.write ("<script type='text/javascript' src='data.php''></script>');
// -->
</script>


---------
data.php

<?php
echo 'document.write("Hello");'
?>

909:Name_Not_Found
08/07/20 00:04:00
>>908
PHP側で header('Content-Type: text/javascript'); とか

910:Name_Not_Found
08/07/20 01:18:40
>>909
ありがとうございます。文字が間違ってたみたいです。
それも、つけさせていただきました。
次は発展させ
<script language="JavaScript">
<!--
document.write ("<script type='text/javascript' src='data.php''></script>');
// -->
</script>
---------
data.php

<?php
$URL="document.write(\"<a href='{$URL}' target='_blank'><img src='http://~.jpg' border='0' /></a>\");"';
echo $URL;
?>

こんな感じにURLを変数に入れてから処理しているんですがどうしてもうまくいきません。何が悪いんでしょうか?
data.phpをひらくとちゃんとdocument.write("<a href='{$URL}' target='_blank'><img src='http://~.jpg' border='0' /></a>");
こう出るんですが、、エスケープの間違いなどでしょうか?
わかる方いましたらお願いします

911:Name_Not_Found
08/07/20 02:49:47
src='data.php''

912:Name_Not_Found
08/07/20 03:11:27
ちょっと手打ちだったので書き込むときに間違ったんですが、文法的には直してありました。
誤解させてすみません。
908のようにしたときはちゃんとhelloと表示されたのですが、PHPの以下の部分だけ変えると構文エラーで何も表示されなくなります。
いろいろ試したんですが何が間違っているのやら
<?php
$URL="document.write(\"<a href='{$URL}' target='_blank'><img src='http://~.jpg' border='0' /></a>\");"';
echo $URL;
?>

別の方法でもいいのでPHPから返ってきた値を表示させる方法を教えてくださると助かります。
PHPには引数を与えて動的にいろんな値が返ってくるようにしたいと思っていますので、引数を与えられるようにお願いします

913:Name_Not_Found
08/07/20 03:23:36
PHPスレでやれ

914:Name_Not_Found
08/07/20 03:24:33
document.write ("<script type='text/javascript' src='data.php''></script>');
ここの部分にphpから返って来た値をそのまま置き換えるとちゃんと表示されます。
呼び出しがわるいんでしょうか、どうかお願いします

915:Name_Not_Found
08/07/20 03:27:29
javascript では " と ' は等価だけど php では違う

916:Name_Not_Found
08/07/20 03:37:31
>>914
>>911で間違いを指摘されてんだからちゃんと反映させろよ。
ついでに言えば「</script>');」ここも間違ってる。
教えてクレクレするだけなら帰れ。

917:Name_Not_Found
08/07/20 08:09:58
URLリンク(homepage3.nifty.com)
これ読み込むと文字が正しくありませんってエラーが出るんだけどどうすればいいでしょうか

918:Name_Not_Found
08/07/20 15:41:45
ある文字列(var c)が英字1文字であることを判定するにはどうすればいいですか?
英字の大文字小文字は区別しません。よろしくお願いいたします。

919:Name_Not_Found
08/07/20 16:05:20
>>918
/^[A-Za-z]$/

920:Name_Not_Found
08/07/20 16:49:05
>>918
/^[a-z]$/i.test(c)

921:Name_Not_Found
08/07/20 16:52:50
>>918
どうもです。

922:Name_Not_Found
08/07/20 18:29:03
ワロタw

923:Name_Not_Found
08/07/20 18:57:42
>>922
沸点低いです。

924:Name_Not_Found
08/07/20 19:12:00
沸点って怒りの基準に使わない?
笑いの場合は別の、ほら、あれだよあれ、あれを使う。

925:Name_Not_Found
08/07/20 19:41:15
笑い袋の緒が切れた

926:Name_Not_Found
08/07/20 19:56:04
笑う過度にはピーポ来たる

927:Name_Not_Found
08/07/20 19:59:00
もお成田かの微笑

928:918
08/07/20 21:00:02
IE8だと918の方が早いもん ちくしょうちくしょう
(FF3では有意な差無し)

929:Name_Not_Found
08/07/20 21:00:40
919だった
これは921のせいだと言わざるを得ない

930:Name_Not_Found
08/07/20 21:52:55
お前は何をいっているんだ

931:Name_Not_Found
08/07/20 23:03:26
触らないほうがいいと思う

932:Name_Not_Found
08/07/20 23:17:13
var start = new Date,c="dog",kaisuu=400000;
for (var i = 0; i < kaisuu; i++) /^[A-Za-z]$/.test(c);
document.write(new Date - start+"<br>");

start = new Date;
for (var i = 0; i < kaisuu; i++) /^[a-z]$/i.test(c);
document.write(new Date - start);

とやるとIE7、8では5%程前者の方が早い
IEはignoreオプションが苦手という話

933:Name_Not_Found
08/07/20 23:58:36
js> 'ignore' in /-/
false
js> 'ignoreCase' in /-/
true

934:Name_Not_Found
08/07/21 11:45:20
マージでソートするって簡単に言うとどういうことですか?
調べてもさっぱりわかりません。

935:Name_Not_Found
08/07/21 12:10:24
マージソートでググるといいと思います!

936:Name_Not_Found
08/07/21 17:38:03 kjXBFRXb
FireFoxで動作しなくて困ってます。
<img onMousemove="alert();">

アドバイスお願いします。

937:Name_Not_Found
08/07/21 18:11:47
<img onmousemove="alert('');">

938:Name_Not_Found
08/07/21 18:57:20
エラーコンソールもFirebugも無しでどうやって開発しているのやら

939:Name_Not_Found
08/07/21 18:59:28
つーか、FireFoxの環境はIEに比べるとへぼすぎるだろ。

940:Name_Not_Found
08/07/21 19:00:04
>>936
XHTMLだと大文字小文字区別するんだっけか。

941:Name_Not_Found
08/07/21 19:04:16
>>939
逆になってるぞ

942:Name_Not_Found
08/07/21 19:06:38
>>941
む、マジで言ってるのか。
breakpointならVWDだし、DOMインスペクタならシェアだがWebDeveloperV2だし、メモリリーク検知ならM$純正のあるし。

943:Name_Not_Found
08/07/21 20:48:28
>>942
URLリンク(journal.mycom.co.jp)

944:Name_Not_Found
08/07/21 21:00:31
>>943
「Internet Explorer Developer Toolbar」とかいう糞ツール使ってるからだろ。

945:Name_Not_Found
08/07/21 21:10:46
Visual Web Developer 2008 Express Editionも含めた上で比較してるように見えるが
そもそも VWD って IE と関係ないじゃんとか言ったら駄目ですか?

946:Name_Not_Found
08/07/21 21:15:46
外部アプリ使わないといけない時点で糞だな、めんどくさい。firefoxならアドオン入れれば単体で出来るし

947:Name_Not_Found
08/07/21 21:19:51
あの気持ちわるいやつをメインの開発環境するのがまず間違い

948:Name_Not_Found
08/07/21 21:32:52
>>943
そこ、IE8のJavaScriptデバッガに触れられてないね。
試したところ、Developer Toolbarのどうでもいい機能をそのままに、
breakpoint打てるようにして、watchとcallstack見れるようにして、
CSSプロパティ単位でON/OFF出来るようにしてある。
DOMツリー上をみながら、プロパティの書き換えがオンザフライで可能。
でも、まだUIがこなれてない感じ。

949:Name_Not_Found
08/07/21 21:44:24
Visual Web Developer 2008って2005と比べて、やたら重くないか。
自動補完機能用の辞書作成だとおもうが、いらねーって感じ。

950:Name_Not_Found
08/07/21 21:56:36
FireFoxでmousemove時にマウスの左ボタンが押されてるか知りたいです。
IEと同じようにevent.buttonみたけど、判断つかないようでした。><

951:Name_Not_Found
08/07/21 22:09:22
mousedownイベント発生時にevent.buttonが0ならフラグを立てて、みたいにすれば?

952:Name_Not_Found
08/07/21 22:43:24
>>951
画面全体でイベント拾わないといけなくなる?
ウィンドウの画面外までマウスを持って行って、mouseupするとイベント拾えないんじゃ
とか気になることが山積するような。

953:Name_Not_Found
08/07/22 03:57:52
>>950
何に使うの?

954:Name_Not_Found
08/07/22 09:57:54
>>953

955:Name_Not_Found
08/07/22 10:00:20 RMUJweds
あの、質問させてください。
結論だけでも大丈夫です。
タブブラウザやUserAgentSwitcherのようにUAを任意に変更できる
仕様をHTMLとJavaScriptのみを用いて作ることは可能ですか?


956:Name_Not_Found
08/07/22 10:03:50
できません

957:Name_Not_Found
08/07/22 10:07:36 RMUJweds
>>956
おおーありがとうございます


958:Name_Not_Found
08/07/22 12:21:15 spDCqlEz
>>245
var evt = document.createEvent("KeyboardEvent");
evt.initKeyEvent("keydown", true, true, null, false, false, false, false, "J".charCodeAt(0), 0);
document.dispatchEvent(evt);

URLリンク(developer.mozilla.org)

959:Name_Not_Found
08/07/22 13:29:35
新スレは975超えたら。テンプレ論議は全然できなかったね、
道場訓復活は今道場訓として入っているものをどうするかが
決まらないと難しいかも(道場訓が場所ふさぎだという意見が複数あり
今のようにしたんで)。

960:Name_Not_Found
08/07/22 23:01:46
>>958
keydownのような低レベルイベントにdispatchEventは基本的には向かない。
理由はデフォルト動作を持たないため。
でも、>>245を見る限り、デフォルト動作を期待するようなコードではなさそうだね。


961:Name_Not_Found
08/07/23 14:28:32
質問です。
function F(arg){
var obj=document.getElementById("test")
//---
}
のように関数内でオブジェクト宣言をした場合、この関数を呼び出
すたびに新しくオブジェクトが作られるのでしょうか。もしそうだ
とすると頻繁に関数を使ったばあには、メモリだらけになりませんか。
もっと効率的な書き方はあるのでしょうか。普段何気なく書いていた
のですが恐ろしくなりました。

962:Name_Not_Found
08/07/23 15:26:15
>>961
それは既にあるDOMオブジェクトの参照をobjという変数に代入してるから
新たにオブジェクトが作られてるわけではないよね。
それともvar objのことを言ってる?

963:Name_Not_Found
08/07/23 15:29:42
メモリだらけになったらうれしいとおもいます!

964:Name_Not_Found
08/07/23 16:12:46
質問です.

htmlソース
<body onLoad="set('disp(配列1,配列2)')">

jsファイル
function disp(配列1,配列2){
...
}

htmlからjavascriptの関数に配列を渡したいんですけど
「配列1」「配列2」の部分ってどのように書けばいいですか?

965:Name_Not_Found
08/07/23 16:31:14
hairetsu1 hairetsu2

966:Name_Not_Found
08/07/23 16:36:28
>>965
そのように書いても
javascriptで配列の中身を見たら「undefined」となってしまいます…

967:Name_Not_Found
08/07/23 16:38:09
undefinedになるソースうp

968:Name_Not_Found
08/07/23 16:54:00
javaでhtmlをはきだしています.

まず
sb.append("<SCRIPT Language=\"JavaScript\" SRC=\"popup.js\"> </SCRIPT>");
でjsファイルを読んで

次にデータベースの情報をscheduledate[]とschedule[]に順に入れていって
sb.append("<body onLoad=\"set(disp(\'" + scheduledate + "\',\'"+ schedule +"\'))\">");
でjavascriptの関数に渡しています.

jsファイル(popup.js)内は
function disp(scheduledate,schedule){
newWin = window.open("", "child", "width=450,height=400,scrollbars=yes");
newWin.document.open();
newWin.document.write("<HTML><HEAD><TITLE>title</TITLE></HEAD>");
newWin.document.write("<BODY>");
newWin.document.write(scheduledate[0]);
newWin.document.write(schedule[0]);
newWin.document.write("</BODY></HTML>");
newWin.document.close();
}
こんなかんじで
実行するとscheduledate[0]とschedule[0]がundefinedと表示されます.



969:Name_Not_Found
08/07/23 17:06:12
javaでとか関係ねーだろ
最終的に吐き出したhtml書けこのスットコドッコイ

970:Name_Not_Found
08/07/23 17:13:52
>>968
setっていう関数は何をやってくれるの?
javaからhtmlに変換されるときに何かに変換されるってこと?
>>964の状態だとjavascriptの中にset関数がいないとおかしいのだけど。

971:Name_Not_Found
08/07/23 17:18:45
最終的に吐き出したhtmlは
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "URLリンク(www.w3.org)">

<html lang="ja">
<head>
<meta http-equiv="Content-Type" Content="text/html;charset=Shift_JIS">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<title>title</title>
</head>
<SCRIPT Language="JavaScript" SRC="popup.js"> </SCRIPT>
<body onLoad="set(disp('[Ljava.lang.String;@1fd5e2','[Ljava.lang.String;@12f9ee'))">
</body>
</html>



<HTML><HEAD><TITLE>title</TITLE></HEAD><BODY>undefinedundefined</BODY></HTML>

です.

972:Name_Not_Found
08/07/23 17:23:15
Java != JavaScript

973:Name_Not_Found
08/07/23 17:26:03
>>970
setはsetTimeoutの0秒バージョンだと思って使ってます.


974:Name_Not_Found
08/07/23 17:35:31
>>972
javaで配列を連結して文字列にする
↓わたす
javascriptで文字列を分解して配列にする

みたいな方法をとるしかないですかね・・・

975:Name_Not_Found
08/07/23 17:42:17
<body onLoad="disp([要素1, 要素2, 要素3], [要素a, 要素b, 要素c])">
みたいなコードをJavaで生成すればいいんでねーの

976:Name_Not_Found
08/07/23 17:57:53
<body onLoad="set(disp('[Ljava.lang.String;@1fd5e2','[Ljava.lang.String;@12f9ee'))">
これで上手くいく方がおかしいだろ…

977:Name_Not_Found
08/07/23 18:26:50
無名関数を使うと、
var a = b.replace(/パターン/, function(p0, p1){ return 処理結果; });
↑こういうことができると思うんですが、

dcument.write(function(){
var list = new Array('a', 'b', 'c', 'd', 'e');
var text = '';
while (list.length > 0) {
var r = Math.floor(Math.random() * list.length);
text += list[r];
list.splice(r, 1);
}
return text;
});
↑みたいなことは出来ないんでしょうか?
要は、一度しか使わない関数を定義せず(?)に出力できるかってことなんですが。

978:Name_Not_Found
08/07/23 19:06:02
document.write(function(){
var list = new Array('a', 'b', 'c', 'd', 'e');
var text = '';
while (list.length > 0) {
var r = Math.floor(Math.random() * list.length);
text += list[r];
list.splice(r, 1);
}
return text;
}());

979:Name_Not_Found
08/07/23 19:48:54
くだらない質問ですいませんが、
MACのサファリで作動のチェックはする物ですか?

クレームきちゃって・・・・Orz

980:Name_Not_Found
08/07/23 20:00:07
Safari1ならつっぱねろ
Safari2なら努力はしてみろ
Safari3で動かないのはお前が悪い可能性大

981:Name_Not_Found
08/07/23 20:31:38
便乗で聞いていい?
Mac 版 Safari と Win 版 Safari って結構違うもの?

982:Name_Not_Found
08/07/23 21:05:32
MACのIEじゃないんだから大して変わらないはず

983:Name_Not_Found
08/07/23 21:25:24
>>979
クレームを出した奴がマカーなら
少数民族は被害妄想で差別されていると感じるとギャーギャー騒ぎ出すので
気にするな

お前さんの雇用主や上司、取引相手からクレームがついたのなら
粛々と修正しろ

984:977
08/07/23 22:32:48
>>978
一瞬何が違うのかわからなかったですが、わかりました!
ありがとうございます!

985:Name_Not_Found
08/07/24 08:11:48
<div id="field">
  <div>テキスト1</div>
  <div>テキスト2</div>
  <div>テキスト3</div>
  <div>テキスト4</div>
  <div>テキスト5</div>
</div>

field内のdivタグ内のテキストがクリックされた場合に、
そのテキストのCSSを変更したいのですが、divタグ内にonclickをイベントを書く以外に方法はありますか?
js内で
onmouse = function()
でイベントを設定したいのですが、設定の仕方に困ってます

986:Name_Not_Found
08/07/24 08:27:06
>>985
this

987:Name_Not_Found
08/07/24 08:27:14
>>985
URLリンク(developer.mozilla.org)

988:Name_Not_Found
08/07/24 09:21:40
アホ外人君を召喚するから待ってて

989:Name_Not_Found
08/07/24 09:50:48
お話中すいません。
o.toSource()がIEだとだめみたいなんですが
何か打開策ありますか?

990:979
08/07/24 09:55:18
>>980 >>983

ありがとうございます。
相手はマカなので、それなりの対応する事にします。

助かりました。

991:Name_Not_Found
08/07/24 12:18:31
次スレ
スレリンク(hp板)l50

992:Name_Not_Found
08/07/24 12:26:51
埋め

993:Name_Not_Found
08/07/24 12:37:50


994:Name_Not_Found
08/07/24 12:44:50
埋め

995:Name_Not_Found
08/07/24 12:55:58
次スレ
スレリンク(hp板)l50

996:Name_Not_Found
08/07/24 13:08:08
ume

997:Name_Not_Found
08/07/24 13:09:07
ume

998:Name_Not_Found
08/07/24 13:31:32
埋め

999:Name_Not_Found
08/07/24 13:34:39
999

1000:Name_Not_Found
08/07/24 13:35:12
1000

1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch