のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,646,947人
昨日:no data人
今日:
最近の注目
人気の最安値情報

私的良スレ書庫

不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

元スレ+ JavaScript の質問用スレッド vol.89 +

JavaScript スレッド一覧へ / JavaScript とは? / 携帯版 / dat(gz)で取得 / トップメニュー
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
レスフィルター : (試験中)
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
301 : Name_Not - 2011/08/03(水) 08:58:38.03 ID:??? (+33,-4,-16)
>>300
再現可能なサンプルコードを出してください
http://jsbin.com/ http://jsfiddle.net/
302 : Name_Not - 2011/08/03(水) 09:06:10.22 ID:Ow7JMSNO (-13,-30,-35)
配列に格納する文字列の上限とかってあるのでしょうか?
hoge[0] = 50KBぐらいの文字列
hoge[1] = 10KBぐらいの文字列
hoge[2] = 30KBぐらいの文字列
とやってるのですがココに何か原因がありそうで
303 : Name_Not - 2011/08/03(水) 09:29:55.64 ID:??? (-7,-28,-9)
>>302
ECMAScript仕様上は制限はなかったと思うけど、何のブラウザでどんな不具合が起きてるの?
305 : Name_Not - 2011/08/03(水) 09:42:32.33 ID:??? (+52,+29,-46)
>>304
不具合の詳細は?エラーメッセージとか描画が崩れるとか何かしらあると思うけど
メモリは足りてるか、も調べるポイントだと思う
306 : Name_Not - 2011/08/03(水) 09:44:48.49 ID:Ow7JMSNO (+0,+29,-3)
あっ、メモリ考えてませんでした
調べてきまんす、どうも
307 : Name_Not - 2011/08/03(水) 10:14:23.00 ID:??? (+61,+29,-27)
>>291
http://jsfiddle.net/bKEfQ/2/

>>302
> ココに何か原因がありそうで
ココを削ったら再現しなくなるのかどうか
結局、不具合の詳細は何だったのか
308 : Name_Not - 2011/08/03(水) 10:22:46.84 ID:??? (+7,-29,-120)
新しいウィンドウを開くとき

target="_BLANK"

でやると、ローカルサーバで実行したときは完全なウィンドウの複製(というか別タブ)が開くのですが、
リモートサーバー上にあげてから実行すると、ポップアップウィンドウ(メニューバーなし、ステータスバーなし)が
開こうとしてGoogle Chrome の警告が出てしまいます。
確実に別タブ(ブラウザによっては別ウィンドウ)で開かせたい時はどうすればいいのでしょう?

309 : Name_Not - 2011/08/03(水) 10:48:01.33 ID:??? (-1,-30,-38)
>>308
<a href="http://example.com/" target="_blank"> ならポップアップブロックは働かないはず
ユーザからのアクションに反応する形ならブロックされない
310 : Name_Not - 2011/08/03(水) 11:07:11.80 ID:Ow7JMSNO (+0,+29,-5)
すみません、どーやらブラウザのメモリの問題だったよーです
お騒がせしました&ありがとうございます
311 : Name_Not - 2011/08/05(金) 14:48:33.88 ID:??? (+32,-29,-126)
無名関数内でのthisはグローバルオブジェクトになったりしますが
"use strict"を記述してる時の無名関数内でのthisはundefinedにバインドされますよね?
この時確実にグローバルオブジェクトを取得するにはどうすればいいんでしょう・・・
windowという記述以外でお願いします
313 : Name_Not - 2011/08/05(金) 15:08:15.53 ID:??? (-12,-29,-127)
>>312
jsから外部サイトは直接読めないのでひと手間必要。
おまいのサイト.com/外部サイトからタグを引っぱってくる.php
おまいのサイト.com/上記PHPを呼んでhtmlに出力する.js
おまいのサイト.com/お望みの.html
314 : Name_Not - 2011/08/05(金) 15:13:30.26 ID:??? (+78,+30,+0)
315 : Name_Not - 2011/08/05(金) 15:24:34.63 ID:??? (+37,-29,-132)
マウスの左右ボタン同時押しを検出する方法ってありますか?
イベントオブジェクトの一覧見てみてもbuttonとwhichプロパティがマウスっぽいけれど
buttonは何も押してない状態と左クリックが0、真ん中が1、右クリックが2
whichは何も押してない状態と左クリックが1、真ん中が2、右クリックが3
両押しすると数字の若い方が優先された値を返すような状態で詰まってます。
アドバイスお願いします。
316 : Name_Not - 2011/08/05(金) 15:33:05.52 ID:9V9fdTxQ (-22,+29,+0)
>>313
ありがとうございます。がんばってみます。
317 : Name_Not - 2011/08/05(金) 15:50:28.90 ID:??? (+51,+18,+2)
>>314
ありがとうございます
318 : Name_Not - 2011/08/05(金) 16:12:29.89 ID:??? (+40,+29,-27)
>>315
完全な同時押しは人間には無理だし、機械も検知できないんじゃないかな。
左or右が押されたらフラグ立てて、フラグがたってる状態で反対側が押されたら同時押しと判定。
319 : Name_Not - 2011/08/05(金) 16:19:21.37 ID:??? (+57,+17,-3)
>>318
試してないけどそれ315の仕様なら無理じゃね?
320 : Name_Not - 2011/08/05(金) 16:29:22.33 ID:??? (-2,-30,-26)
onclickとoncontextmenuでダメなん?
右と左が分かれていて、クリックでイベントが起きるなら問題ないと思うけど。
321 : Name_Not - 2011/08/05(金) 16:32:35.99 ID:9V9fdTxQ (+0,-30,-121)
度々すみません312です

> おまいのサイト.com/上記PHPを呼んでhtmlに出力する.js
これやってみたけどhtmlファイルにhtmlタグは表示されませんね。
実は自動相互リンク集を作ろうと思っていて、タグを貼るだけで勝手にリンクが増えるリンク集です。

<script type="text/javascript" src="http://example.com/hoge.php?id=123"></script>
でも上記のようなタグを貼っても、一応リンクはできるけど、htmlファイルにhtmlタグが表示されないので
外部リンクとはみなされませんよね?世間に自動リンク集はたくさんあるけど、あれってどうやってるのかな。
何か上手い方法ありませんでしょうか?
322 : Name_Not - 2011/08/05(金) 16:42:30.15 ID:??? (+46,+29,-7)
>>321
むしろjs使わず全部phpとかでやるべき事案な気がする
323 : Name_Not - 2011/08/05(金) 16:47:50.55 ID:??? (+62,+30,-169)
>>321
あ、ちょっと勘違いしてたかも。
「いろんなユーザーさんに、それぞれのブログとかに1行のscriptタグを貼り付けてもらうと、
新しいリンクも自動で更新される便利なリンク集がulかなんかで生成される」ってことね。たぶん。
もっと詳しく書けよ。と思ったが、なにを詳しく書けばヒントになるのかもわからんレベルだなきっと。

で、「自分じゃない誰かさんのサイトにscriptタグを貼ってもらうだけで
SEOフレンドリーにhtmlファイルそのものを書き換えてくれる」って仕組みは、ムリだな。

ただ、SEOフレンドリーではないにしろ、
Googleがjs生成によるリンクを完全に無視するとも思えないので、
やらないよりは多少なりとも効果はあるのでは。
324 : Name_Not - 2011/08/05(金) 17:25:10.45 ID:??? (-2,-29,-19)
>>321
SEOを意識するならJSを使わず、iframe要素を使った方がいいと思うよ。
325 : Name_Not - 2011/08/05(金) 17:47:43.24 ID:??? (+57,+29,-32)
iframeも結局ぜんぶ同じurlを呼んでるだけなので、
理想的なgoogleにとってはjsと大差ないでしょう。
どっちがマシなのかは判断が難しい。
326 : Name_Not - 2011/08/05(金) 19:00:14.95 ID:9V9fdTxQ (-13,+29,+0)
>>322-325
ありがとうございます。難しいですね。出直してきます。
327 : Name_Not - 2011/08/05(金) 21:53:12.00 ID:??? (-11,-29,-2)
SEO(笑)
328 : Name_Not - 2011/08/05(金) 21:56:19.30 ID:??? (+52,+29,-3)
カッコ笑い判定厳しいなw
329 : Name_Not - 2011/08/06(土) 07:02:00.71 ID:??? (+3,-30,+0)
>>318,319,320
なんとかそれっぽいこと実装できました。
html側では
<body onSelectStart="return false;" onContextMenu="rightclick();return false;" onMouseDown="leftclick(event);return false;" onMouseUp="mouseup(event);">
<div id="debug1"></div>
としておいて
js側ではグローバル変数にbool値を格納するisLeftPushedとisRightPushedを用意し、
function rightclick(){
if(!isLeftPushed) document.getElementById("debug1").innerHTML="right";
else document.getElementById("debug1").innerHTML="both";
isRightPushed=true;
}
function leftclick(e){
if(e.button==0){
if(!isRightPushed)document.getElementById("debug1").innerHTML="left";
else document.getElementById("debug1").innerHTML="both";
isLeftPushed=true;
}
}
function mouseup(e){
if(e.button==2) isRightPushed=false;
else isLeftPushed=false;
}
でgoogle chrome上で両押ししてる時だけbothと表示するようにできました。
onClickだと左クリック時だけ反応してくれますが放したときにイベントが発生するのでonMouseDownを使いました。
アドバイスありがとうございます。
330 : Name_Not - 2011/08/06(土) 12:06:29.09 ID:??? (+22,-30,+0)
<!doctype html>
<meta charset="utf-8">
<style>
#canvas {
  width: 320px;
  height: 240px;
  background: #ccffff;
  font-size: 64px;
}
</style>
</head>
<body>
  <div id="canvas"></div>
</body>
<script>
(function() {
  var canvas = document.getElementById('canvas');
  var buttons = [false, false, false];
  function show() {
    canvas.textContent = buttons.map(function(b) { return b ? '○' : '×'; }).concat(buttons.filter(Boolean).length).join(' ');
  }
  function handler(event) {
    event.preventDefault();
    buttons[event.button] = event.type === 'mousedown';
    show();
  }
  canvas.addEventListener('mousedown', handler, true);
  document.addEventListener('mouseup', handler, true);
  show();
})();
</script>
331 : Name_Not - 2011/08/06(土) 12:31:52.70 ID:??? (+7,-29,-61)
どうでもいいけどdoctypeとかmetaとか丁寧に書いてるのに
headの開始タグがなかったりstyleとscriptの必須属性がなかったりmetaとscriptが変なところにあったりちぐはぐしてて違和感
332 : Name_Not - 2011/08/06(土) 13:14:29.99 ID:??? (+58,-30,-98)
>>331
doctype宣言見れば分かるけど、html5だからそれでいいんだよ
styleとscript要素の属性は初期値がそれぞれ text/css, text/javascriptになってるから、
省略して構わないし、head, body要素はおろかhtml要素さえも省略できる
あとXHTMLの /> で終わらせる最小化表記が混在していてもよい

<meta charset=utf-8 />
<title>Untitled</title>
Hello World

つまりこういうのでもおk
333 : Name_Not - 2011/08/06(土) 13:22:02.65 ID:??? (-1,-29,-10)
</head>は必要?bodyの開始タグがあればそこでheadが終わると判断されるんじゃないっけ
334 : Name_Not - 2011/08/06(土) 13:26:40.90 ID:??? (+50,-13,-6)
>>332
そのコードも>>330のコードもエラーが出るんだが
http://validator.w3.org/
335 : Name_Not - 2011/08/06(土) 14:22:22.03 ID:??? (+64,+28,-15)
>>334
HTML5選んで>>332のコード貼り付けたらエラーでなかったよ
336 : think49 - 2011/08/06(土) 14:28:59.89 ID:??? (+9,-30,-164)
>>330はtitle要素が抜けているため。</head> はエラーではないようですが無視されるので無意味ですね。
>>332はDOCTYPE宣言が抜けていて HTML5 と機械的に判定できないため。HTML5はDOCTYPE宣言を省略していいことになっていますが、DOCTYPEスイッチの関係で省略する事は現実的ではないかも。
あと、終了タグを / で閉じていますが属性値をクオートで括ってないのでXMLと互換性がないです。
337 : Name_Not - 2011/08/06(土) 14:51:50.39 ID:??? (+48,+30,+0)
338 : Name_Not - 2011/08/06(土) 19:02:17.11 ID:??? (+61,+29,-23)
type属性を指定しなかったら初期値になるって草案だけど
何で「リンク先のContent-Typeに従う」にならなかったんだろう
同じことを2か所で指定するのって保守性が下がると思う
339 : Name_Not - 2011/08/06(土) 19:23:58.43 ID:??? (+6,-30,-22)
>>338
<script type="text/vbscript"> と Content-Type: text/javascript がある時は Content-Type ヘッダが優先されると思ってた
340 : Name_Not - 2011/08/06(土) 19:32:54.38 ID:??? (+5,-29,-25)
仕様上は、type属性って包括されるスクリプトコードのみに対する指定なんかな?
IEはtype属性優先っぽい? まあIEはMIMEタイプ無視したりするからよくわからんけど
341 : Name_Not - 2011/08/06(土) 20:41:00.49 ID:??? (+34,-29,-31)
質問です。
http://jsdo.it/umaa/mMon
↑を実行しても動かないのはわかっています。
要は選択肢(option)から複数のtextに選択肢ごとに違う数字を入力させたいのですが、
似たようなスクリプトで書けれるのであればご教授お願いします。
342 : Name_Not - 2011/08/06(土) 21:31:06.19 ID:??? (+4,-24,-31)
>>340
外部スクリプトを含むかは曖昧だけど優先順位が明確でない気がする
HTTP1.1 と HTML5 で規定が衝突する場合はどうなるんだろう
343 : Name_Not - 2011/08/07(日) 00:19:51.32 ID:??? (+57,+29,-4)
>>341
「書けれる」はないわ。
344 : Name_Not - 2011/08/07(日) 01:40:35.88 ID:??? (+6,-21,-19)
if以降をt内に入れりゃいいんじゃね
独自拡張だらけで動くか知らんけど
345 : Name_Not - 2011/08/07(日) 05:36:03.72 ID:??? (+61,+29,-9)
ボタンを押したら、文字などはそのままで背景画像だけ変えるにはどうすればいいですか?
346 : Name_Not - 2011/08/07(日) 09:17:39.09 ID:??? (+6,-30,-12)
>>345
node.style.backgroundImage
347 : Name_Not - 2011/08/07(日) 10:44:25.59 ID:??? (+53,-30,-67)
onMouseOver/Outのバブリングで悩んでます、どなたかアドバイスお願いします。

この外枠のところでonMouseOverでjsを読み込んで子要素をアニメーションさせているのですが、子要素をポインタが移動する度にルートにバブリングされonMouseOver/Outが呼び出されてしまい何度もFunctionを呼び出してしまいます。
外枠のところだけでonMouseOver/Outを動作させたいんですが私にもわかる簡単な方法はないでしょうか・・・orz
348 : Name_Not - 2011/08/07(日) 11:30:09.66 ID:??? (+11,-30,-28)
function f() { ... }

f = function() { ... }
は、{ ... } の中が完全に一致すれば、挙動も完全に一致しますか?
349 : Name_Not - 2011/08/07(日) 11:41:13.49 ID:??? (-1,-29,-9)
function f(){}  ==  window.f = function(){}

厳密には多少違うのかもしれないが等価と思っていい
350 : Name_Not - 2011/08/07(日) 12:02:05.79 ID:??? (+10,-30,-12)
>>348
http://twitter.com/uupaa/status/66180536065990658
ここで言う匿名関数は「f = function() { ... }」を指す
なので、「f = function f() { ... }」の方がより良いのかも
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / JavaScript スレッド一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について