他のサイトでは動くのに、gooでは動かない、なぜ??

このQ&Aのポイント
  • 他のサイトでは動くマウスストーカーが、ウェブのgooのmainに貼り付けたら動かない理由を教えてください。
  • 本より取り込んだソースファイルを使っていますが、なぜgooではマウスストーカーが動かないのでしょうか?
  • お願いいたします。公開されるので、URLの一部は伏せています。
回答を見る
  • ベストアンサー

他のサイトでは動くのに、gooでは動かない、なぜ??

マウスストーカーですが、他のサイトでは動きます(確認済み)が ウェブのgooのmainに貼り付けたら動きません、何故ですか? なお、ソースファイルは本より取り込みました。 -----[SRCE]----- <SCRIPT language='JavaScript'> str_x=0; str_y=-100; pn=1; var numb=35; for(i=0; i<=numb; i++) { document.write('<SPAN ID=MS'+i+' CLASS=stalker STYLE=position:absolute;left:-100;top:-100px;><IMG SRC=http://userimage.gaiax.com/***/**/**.gif></SPAN>'); } function Imagemove(){str_x=document.body.scrollLeft+window.event.clientX; str_y=document.body.scrollTop+window.event.clientY; } document.onmousemove=Imagemove; function stalker(){document.all['MS'+pn].style.top=str_y+10; document.all['MS'+pn].style.left=str_x+10;pn=pn%numb+1; setTimeout('stalker()'); } window.onload=stalker </SCRIPT> -----[EOF]----- よろしくお願いいたします。 公開されますから、URLの1部のディレクトリーと ファイル名は**に置き換えています。

質問者が選んだベストアンサー

  • ベストアンサー
noname#199778
noname#199778
回答No.1

あてずっぽうですが… gooというのは、簡単HPのことですよね? そのソースを貼り付けて送信する時、改行は自動改行でしたでしょうか、それともマニュアル改行でしたでしょうか。 もし、自動改行のままでソースを貼り付けて送信していたとしたら、スクリプト要素内の改行に対しても<br>要素への置き換えが働いて、スクリプトの内容が正常に解釈されなくなることもあるようです。 今動かない状態のページを表示して、そのページのソースを表示させ、スクリプトのソース内に余計なものが混ざりこんでいないかどうかを確かめてみるのも良いのではないかと思います。 もし<br>が混ざりこんでいたとしたら、今度はそれらの余計なものが混ざらないように、編集の際に自動改行ではなくマニュアル改行を選んで、送信をしてみてください。 他には、いずれも初歩的なところですが、ブラウザやセキュリティソフトでJavaScriptの動作を止めていないかどうか、あるいはIE以外のブラウザで確認していないかなども確認すべきポイントになるかもしれません。 質問文にあるスクリプトは、おそらくIEでしか動かないのではないかと思います。 見当違いでしたら、ごめんなさい。

関連するQ&A

  • オブジェクトがぶつかった時の処理

    <script type="text/javascript"> <!-- var imgStar ,imgMoon, timer; var dx = 6, dy = 4, x = 40, y = 160; function startMove(){ if (document.getElementById){ imgStar = document.getElementById("star"); imgMoon = document.getElementById("moon"); timer = setInterval("moveImg()",50); } } function moveImg(){ imgStar.style.left = x + "px"; imgStar.style.top = y + "px"; imgMoon.style.left = (440-x) + "px"; imgMoon.style.top = (320-y) + "px"; x = x + dx; y = y + dy; if (x<=40 || x >= 400) dx = -dx; if (y<=40 || y >= 280) dy = -dy; } function stopTimer() { if (window.clearInterval) clearInterval(timer); } //--> </script> 星と月がぶつかると、お互い逆方向にはね返るようにしたいのですが、この場合どうすれば良いでしょうか?

  • Netscapeで動かない

    みなさん、こんにちは。Blackwinglsです。 以下のようなScriptを作成したのですが、Netscapeで動いてくれません(^^;) IEしか持っていないので、Netscapeに対応させるにはどうしたら良いのかさっぱりわかりません。 <script language="JavaScript"> <!-- var ax=20 function mv() { if(document.all) { obj=document.all.L1.style WIDTH=document.body.clientWidth } if(document.layers) { obj=document.L1 WIDTH=window.innerWidth } setTimeout("mv()",100) x=obj.left n=x.length y=(eval(x.substring(0,n-2))-ax) obj.left=y+"px" x2=obj.width n2=x2.length y2=(eval(x2.substring(0,n2-2))) if(y < -y2) { obj.left=WIDTH } } //--> </script> 何処が間違っているのでしょうか? 良きアドバイスをお願いします。

  • 文字がマウスカーソルを追従するスクリプト

    いつもお世話になっております。 以下のサンプルスクリプトでinnerText・style.left・style.topと書いてあるところがあるのですが、これはどういう意味なのでしょうか? どなたかわかる方、教えてください。 お願いします。 <HTML> <HEAD> <TITLE>マウスポインタ座標表示</TITLE> <STYLE TYPE="text/css"> <!-- #msxy { position:absolute; top:0px; left:0px; width:48px; color:black; background-color:yellow; font-size:7pt; border-width:1px; border-size:1px; border-style:solid; } --></STYLE> <SCRIPT Language="JavaScript"> <!-- function displayMouseXY(evt) { var X = Y = 0; if (document.all) { X = event.x; Y = event.y; document.all["msxy"].innerText = X+","+Y; document.all["msxy"].style.left= X + 8; document.all["msxy"].style.top = Y + 16; } if (document.layers) { X = evt.x; Y = evt.y; with(document.layers["msxy"]) { document.open(); document.write("<SMALL>"+X+","+Y+"</SMALL>"); document.close(); left = X + 8; top = Y + 16; bgColor = "yellow"; } } } if (document.all) document.onmousemove = displayMouseXY; if (document.layers) { window.onmousemove = displayMouseXY; window.captureEvents(Event.MOUSEMOVE); } // --> </SCRIPT> </HEAD> <BODY BGCOLOR="white"> マウスポインタ座標表示<BR> <DIV ID="msxy"></DIV> </BODY> </HTML>

  • <html><head>

    <html><head> <style type="text/css"> <!-- #loading { position: absolute; /* ロード中に表示する文字列の絶対位置の設定(必須) */ top: 35%; /* 画面の上部からの文字の位置(必須) */ left: 45%; /* 画面の左側からの文字の位置(必須) */ font-style: italic; font-family: Verdana; } --> </style> <script type="text/javascript"> <!-- document.write('<style type="text/css">#doc { visibility: hidden; }<\/style>'); document.write('<div id="loading">Now Loading...<\/div>'); // ロード中に表示する文字列 var i = 0; var ele = document.getElementById("loading"); var str = ele.firstChild.data; function char_loop(ele, str) { ele.innerHTML = str.substring(0, i++ % str.length + 1); } setInterval("char_loop(ele, str);", 100); window.onload = function() { ele.style.display = "none"; document.getElementById("doc").style.visibility = "visible"; } // --> </script> </head> <body> <span id="doc"> ここに本文を表示 </span> </body> </html> 上のような、NewLoading... を作ってみたんですが、 画像のように表の内枠だけ残ってしまいます。 どうにかならないですかね。 ちなみにこの画像のURLは、↓こちらです。 http://shibaken.cool-biz.net/contents02.html お願いします。

  • 素人です!助けてください。

    いきなりですみません。私はまだHPについて素人でして、HPビルダー8を使ってHPを作っています。 実は、最近ある雑誌で見たスクリプトが気に入り、是非私のHPでも活用したいのですが、設定方法が分かりません。スクリプトは以下のようなものです↓ <html> <head> <title>マウスを追いかけるアイコン</title> </head> <SCRIPT language="JavaScript"> <!-- function ms(){ if((document.body.scrollLeft+window.event.clientX+10)>(a.style.pixelLeft)){xx=10;}else{xx=-10;} if((document.body.scrollTop+window.event.clientY+10)>(a.style.pixelTop)){yy=10;}else{yy=-10;} a.style.pixelLeft=((a.style.pixelLeft)+(xx)); a.style.pixelTop=((a.style.pixelTop)+(yy)); } document.onmousemove=ms; document.write('<SPAN ID=a STYLE=position:absolute;left:0;top:0;><img src="images/tekubi.gif"></SPAN>'); //--> </SCRIPT> <body bgcolor="#000000" text="#FF0000"> どこまでもついて行きます… </body> </html> です。で、問題は現在 "images/tekubi.gif" となっている部分にどうしても指定した画像を入れたいのですが、できないのです。ここはどうすれば入れることができますか? お願いします!どなたか助けてください。

  • 最速コードに挑戦!?

    BASICを思い出してPSETを書いてみました。 LINE文を作りたいのですが、最速になるアルゴリズムをご存知の方は いらっしゃいますか? <html> <body> <input type="button" value="Test C.G." onClick=" for(i=0;i<3800;i+=.5){ pset(350-Math.cos(i*3.14519/90)*300,350-Math.sin(i*3.14519/85)*300,'#f00'); } "> <script> function pset(x,y,c){ var p = document.createElement('div'); with(p){ style.position='absolute'; style.top=x+'px'; style.left=y+'px'; style.color=c; appendChild(document.createTextNode('.')); } document.body.appendChild(p); } </script>

  • ハイライト表示をしたい

    2度目の投稿(前回の投稿 http://oshiete1.goo.ne.jp/qa5506744.html)になりますが、指定の文言を色を変えて目立つように(以下ハイライト表示)させたいと思っています 最初に作った物はタグの中(altの中)まで置換をしてしまい、HTMLがくずれるという始末・・・ そこでこのサイトで質問した所、以下のスクリプトを教えて頂きました ところがfirefoxだと動くのですが、IE(IE6しか入っていない環境で使いたい)では動きません 色々調べたところ「フレーム越しの要素コピーは,FFではできて,IEではできないらしい」というのが原因じゃないかという所まで辿り着きました まだjavascript初心者で勉強中な為、教えて頂いたスクリプトも全部理解している訳ではありませんが、どなたか解決方法を教えて頂けないでしょうか 何卒宜しくお願い致します 以下教えて頂いたスクリプト <!-- var str; function left_load(){ if(str){ search(left.document.getElementsByTagName("body")); } } function search(elm){ for(var i=elm.length-1;i>=0;i--){ if(elm[i].nodeName=="#text"){ var re=new RegExp(str,"g"); var ss=elm[i].nodeValue; var result = elm[i].nodeValue.indexOf(str); if(result>=0){ var result_str=ss.replace(re,"<span style=\"background:#77ff77;font-weight:bold\">"+str+"</span>"); var newElement = document.createElement("span"); newElement.innerHTML = result_str; elm[i].parentNode.replaceChild(newElement,elm[i]); } }else{ if(elm[i].hasChildNodes()){ search(elm[i].childNodes); } } } } // --> </script>

  • オブジェクトがありません

    オブジェクトがありませんとエラーが出てしまいます。 operaやNetscapeは動くようなのですがIEは動きません。 document.getElementById(target).style.top = y-offx+"px"; の部分でエラーがでるようなのですが。 出さないためにどうすれば良いかが、分かりません。 よろしくお願いします。 <html> <head> <title>ドラッグして移動する</title> <script type="text/javascript"><!-- if(window.addEventListener)window.addEventListener("load",loadScript,false); if(window.attachEvent)window.attachEvent("onload",loadScript); //関数ロード function loadScript(){ ///ドラッグ用ロード flag=false; Menu=new Array("menu1","menu2","menu3"); for(i=0;i<Menu.length;i++){ XMenu=window.document.getElementById(Menu[i]) if(XMenu.addEventListener)XMenu.addEventListener("mousedown",dragOn,false); if(XMenu.attachEvent)XMenu.attachEvent("onmousedown",dragOn); } } //ドラッグ関数 function dragOn(){ flag=true; target=this.id; ///移動 if(window.document.addEventListener)window.document.addEventListener("mousemove",dragMove,false); if(window.document.attachEvent)window.document.attachEvent("onmousemove",dragMove); ///終了 if(window.document.addEventListener)window.document.addEventListener("mouseup",dragOff,false); if(window.document.attachEvent)window.document.attachEvent("onmouseup",dragOff); } function dragMove(evt){ if (!flag) return; if (window.createPopup){ x = event.x + document.body.scrollLeft; y = event.y + document.body.scrollTop; }else{ x = evt.pageX; y = evt.pageY; } offx = 60; offy = 75; document.getElementById(target).style.top = y-offx+"px"; document.getElementById(target).style.left = x-offy+"px"; return false; } function dragOff(){flag=false;} // --></script></head> <body> <!-- 各メニューで自分自身をドラッグ開始するように,関数を呼ぶ --> <div id="menu1" style="background-color:red; position:absolute; width:120px;height:150px;" >メニュー1</div> <div id="menu2" style="background-color:green; position:absolute;top:200px;width:120px;height:150px;" >メニュー2</div> <div id="menu3" style="background-color:blue; position:absolute;top:400px;width:120px;height:150px;">メニュー3</div> <div id="menu4" style="background-color:yellow; position:absolute;top:200px; left:200px;width:120px;height:150px;">メニュー4</div> </body> </html>

  • 描画したline,Boxを消去したい

    下記のようなコードで線や箱を描画しました。 それを消すにはどうしたらよろしいでしょうか? <html xmlns:v="urn:schemas-microsoft-com:vml"> <head> <title>Test</title> <style>v\:* { behavior: url(#default#VML); position:absolute;}</style> </head> <body> <script> function Test(x,y,c){ for(i=1;i<10;i++){ box(x,y,10,10,c); x=x+20; } } function Clear(){ //--------描画した線、箱を消したい } function line(x,y,lx,ly,c){ document.body.insertAdjacentHTML( "BeforeEnd",'<v:line from="'+x+','+y+'" to="'+lx+','+ly+'" strokecolor="'+c+'"/>'); } function box(x,y,lx,ly,c){ document.body.insertAdjacentHTML( "BeforeEnd",'<v:rect style="top:'+y+'; left:'+x+'; width:'+lx+' ;height:'+ly+';" fillcolor="'+c+'">' ); } </script> <input type="button" onclick="Test(100, 50,'#cc88cc')"> y=50; <input type="button" onclick="Test(100,100,'#cc88cc')"> y=100; <input type="button" onclick="Clear()">消す; </body> </html>

  • <object data="">の挙動について

    お世話になります 何故表示がされなくなるのか理由が分からないのでお分りになられる方いらっしゃいましたら教えていただきたいのですが・・・ 用意したファイルは ┣ test.html    ┏ a.html ┗ hoge(フォルダ)╋ b.html             ┣ c.html             ┣ d.html             ┗ e.html ソースはこちら <script type="text/javascript"><!-- window.onload=function() { var SPANS = new Array(); SPANS = document.getElementsByTagName("span"); for(var i=0;i<SPANS.length;i++) { SPANS[i].onmouseover = function() { this.style.backgroundColor = "lightcyan"; } SPANS[i].onmouseout = function() { this.style.backgroundColor = ""; } SPANS[i].onclick = function() { Object(this.innerHTML); } } } function Object(str) { h = document.getElementById("Object"); h.innerHTML = "<object data='./hoge/"+str+".html' type='text/html'><\/object>"; } //--></script> <style type="text/css"><!-- object { width:800px; height:400px; margin:0px; } span { display:block; float:left; width:79px; height:30px; text-align:center; margin:0px; cursor:pointer; } --></style> </head> <body> <div> <div id="scriptcontents"> <span>a</span> <span>b</span> <span>c</span> <span>d</span> <span>e</span> <div style="clear:both;"></div> </div> <div id="Object"></div> <span>をクリックしたら<object>を使用して別のhtmlファイルを表示させてるのですが普通にしていたら表示はされているのですが以下の手順を踏むとOperaで表示されなくなるのですが理由が分かりません(--;) 1).test.htmlを表示(これは5つとも自由に閲覧できます) 2).hogeフォルダ内の5つのファイルを名前を変えたりしてファイルの存在を削除 3).test.html試用(対象ファイルが無いので当然<object>内はNot Foundページになります) IE,Firefoxは何度押してもNot Foundページが出るのですがOperaは2回目以降反応無しになる(何も表示されない)) 4).hogeフォルダ内の5つのファイルを復元 5).test.html試用(IE,Firefoxは元通りになるのですがOperaは何も反応しないまま) なぜOperaは一度Not Foundページが表示されたら次から無反応になってしまうのでしょうか? その表示されなくなった名前のファイルはもう2度と使用することはできないのでしょうか?

    • ベストアンサー
    • HTML

専門家に質問してみよう