• ベストアンサー

○○.srcだとNetscapeで取得できない

JavaScriptで画像のプリロードをさせています。 ソースは以下の通りです。 window.onload = function() { for( i = 0 ; i <= 8 ; i++ ){ img[i] = new Image(); img[i].src = (略); } } (略)とした部分では、ファイルアドレスを動的に作成しています。今のところNetscape以外のブラウザではうまく動作していますが、Netscapeではその後の処理が遅く、プリロードが出来ていないんじゃないのかと思って調べてみるとその通りでした。 問題点は、「変数名.src」となっているとその値を取得できていないということでした。例えば上のソースですと、「img[i].src」では値を取得できませんが「img[i]」であれば取得できていました。しかし後者ですとプリロードが出来ないため、従来どおり前者を使わなくてはいけないようです。「変数名.src」の値をNetscapeで取得するにはどのようにしたら良いのでしょうか? 例: hensuu = "変数"; alert(hensuu); //"変数"がアラートで出力される。 hensuu.src = "変数"; alert(hensuu.src);//アラートが出ない。

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

  • ベストアンサー
  • MAN_MA_RUI
  • ベストアンサー率41% (426/1024)
回答No.1

多分原因は未対応によるものです。Netscape公式日本語版は2004年にリリースされた製品であるため、リリース後に登場した新規格は利用できないようになっています。 Netscapeというのはセキュリティ的な面から行けばあまり利用が望ましくない割にはユーザー数が多いというのが困ったところですね。 Netscapeのバグに対処すると結構制約が掛かりますが、対処しないのであれば何らかの告知などを出したほうが無難。 (例:サポートの終了したブラウザの動作確認は原則行っておりません。Netscapeユーザーなどの方はFirefoxやSeaMonkeyに移行してください、など…) CSSやJavaScriptはブラウザのバージョンによって対応未対応分かれますからある程度のところで切り捨てざるを得ない部分があると思います。 Netscape用の互換用スクリプトを別に用意する(変数名.srcの未対応環境に対して実行させる)か諦めるか当たりが無難じゃないかな…。

その他の回答 (1)

noname#30818
noname#30818
回答No.2

バージョンは何ですか? Netscape7.1で hensuu = new Image() a='' for(var i in hensuu){ a+=i+'='+hensuu[i]+'<br>' } document.body.innerHTML=a を実行すると下のように出ますけど。 src= nodeName=IMG nodeValue=null nodeType=1 parentNode=null childNodes=[object NodeList] firstChild=null lastChild=null previousSibling=null nextSibling=null attributes=[object NamedNodeMap] ownerDocument=[object HTMLDocument] insertBefore= function insertBefore() { [native code] } replaceChild= function replaceChild() { [native code] } removeChild= function removeChild() { [native code] } appendChild= function appendChild() { [native code] } hasChildNodes= function hasChildNodes() { [native code] } cloneNode= function cloneNode() { [native code] } normalize= function normalize() { [native code] } isSupported= function isSupported() { [native code] } namespaceURI=null prefix=null localName=IMG hasAttributes= function hasAttributes() { [native code] } tagName=IMG getAttribute= function getAttribute() { [native code] } setAttribute= function setAttribute() { [native code] } removeAttribute= function removeAttribute() { [native code] } getAttributeNode= function getAttributeNode() { [native code] } setAttributeNode= function setAttributeNode() { [native code] } removeAttributeNode= function removeAttributeNode() { [native code] } getElementsByTagName= function getElementsByTagName() { [native code] } getAttributeNS= function getAttributeNS() { [native code] } setAttributeNS= function setAttributeNS() { [native code] } removeAttributeNS= function removeAttributeNS() { [native code] } getAttributeNodeNS= function getAttributeNodeNS() { [native code] } setAttributeNodeNS= function setAttributeNodeNS() { [native code] } getElementsByTagNameNS= function getElementsByTagNameNS() { [native code] } hasAttribute= function hasAttribute() { [native code] } hasAttributeNS= function hasAttributeNS() { [native code] } id= title= lang= dir= className= name= align= alt= border= height=0 hspace=-1 isMap=false longDesc= useMap= vspace=-1 width=0 ELEMENT_NODE=1 ATTRIBUTE_NODE=2 TEXT_NODE=3 CDATA_SECTION_NODE=4 ENTITY_REFERENCE_NODE=5 ENTITY_NODE=6 PROCESSING_INSTRUCTION_NODE=7 COMMENT_NODE=8 DOCUMENT_NODE=9 DOCUMENT_TYPE_NODE=10 DOCUMENT_FRAGMENT_NODE=11 NOTATION_NODE=12 DOCUMENT_POSITION_DISCONNECTED=32 DOCUMENT_POSITION_PRECEDING=1 DOCUMENT_POSITION_FOLLOWING=2 DOCUMENT_POSITION_CONTAINS=4 DOCUMENT_POSITION_IS_CONTAINED=8 DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=16 lowsrc= complete=true naturalHeight=0 naturalWidth=0 x=0 y=0 offsetTop=0 offsetLeft=0 offsetWidth=0 offsetHeight=0 offsetParent=null innerHTML= scrollTop=0 scrollLeft=0 scrollHeight=0 scrollWidth=0 clientHeight=0 clientWidth=0 style=[object CSSStyleDeclaration] addEventListener= function addEventListener() { [native code] } removeEventListener= function removeEventListener() { [native code] } dispatchEvent= function dispatchEvent() { [native code] } baseURI= compareDocumentPosition= function compareDocumentPosition() { [native code] } isSameNode= function isSameNode() { [native code] } lookupNamespacePrefix= function lookupNamespacePrefix() { [native code] } lookupNamespaceURI= function lookupNamespaceURI() { [native code] }