人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

あるサイトで紹介されていたjavascriptをコピーして使ってみたんですが、Win(XP,IE6)ではエラーが出ませんが、Mac(OS9,IE5)ではエラーが出ます。

JavascriptでMacとWinの動作の違いについて詳しく教えてくれるページはありませんか? なければ下記のJavascriptでエラーが出る原因を教えてください。

コピペしたのは以下の文章です。(日本語部分はきちんと指定してあります)

<SCRIPT language=”JavaScript”>
<!--
if((parent.location.href.indexOf(’フォルダ名’)) < 0){
top.location.href=’アドレス’;
}
// -->
</SCRIPT>


●質問者: nekogo
●カテゴリ:ウェブ制作
✍キーワード:href IE6 JavaScript Mac OS9
○ 状態 :終了
└ 回答数 : 6/6件

▽最新の回答へ

1 ● ねがい かなみ
●13ポイント

http://www.keynavi.net/ja/tipsj/gokan.html

「JavaScript@Keynavi.Net」 ブラウザ互換性問題について

JavaScriptの各OSやブラウザへの対応について、参考になりそうなところを上げておきました。

それと、3つ目のURLなんですが、これはPhotoShopをJavaScriptをつかって制御する方法ですが、2004年08月14日の記事でフォルダ指定のパスの書き方がWindowsとMacintoshで違う、ということに触れています。

もしかしたら、その辺に原因がありそうに思います。

そこで、4つ目のURLのように、ブラウザやOSのバージョンによって分岐をかけるとかすればいいのではないか、と推測します。

あくまでも推測のレベルで申し訳ありません。

何かヒントがあれば幸いです。

http://pcweb.mycom.co.jp/cgi-bin/print?id=19567

http://blog.livedoor.jp/openspc2/archives/cat_90340.html

OpenSpace Info:Photoshop - livedoor Blog(ブログ)

http://moz.skillup.jp/docs/web-developer/sniffer/browser_type_oo...

◎質問者からの返答

ありがとうございます。

分岐をかけたとしても、元のエラーの原因が分からないと・・・・・

フォルダ名は、親ウィンドウのフォルダ名に含まれる単語だけが入っています。ですからパスの書き方ではないようにも思うのですが・・・・・・

引き続きよろしくお願いします。


2 ● tacosa
●15ポイント

http://www.sumnet.ne.jp/domp/jsbs/

JavaScript basic samples

JavaScriptは万能では無く、ブラウザに依存します。

一見すると、2番目のURLからコピーしたと思うのですが、

このページと同様な事をしたいのであれば、

ディレクトリとURLの記述に問題があるのではないでしょうか。

例)ディレクトリの記述

フォルダ名

フォルダ名/

例)URLの記述

http://www.aaa.jp/

あなたのHP

http://www.aaa.jp/

あなたのHP/

http://www.aaa.jp/

あなたのHP/index.htm

http://www.aaa.jp/

あなたのHP/index.html

このようにいくつか試してみてください。

それでも駄目な場合はScript自体を別の物に

した方が早いかも。

http://www5e.biglobe.ne.jp/~access_r/hp/javascript/js_061.html

他サイトにフレームリンクされないようにする方法(1) - JavaScript

◎質問者からの返答

ありがとうございます。

やっぱり記述ですか・・・・・・。

色々変えてみたんですが、やっぱりダメでした。

試しにそれぞれの処理をテストしてみました。

top.location.href=’アドレス’ 単体だと動き、

if((parent.location.href.indexOf(’フォルダ名’)) < 0)

ではエラーが出るところまでは分かりました・・・・・。


3 ● Im_Me
●13ポイント

http://www.openspc2.org/JavaScript/index.html

一撃必殺JavaScript日本語リファレンス

MACの場合全角空白が入るとエラーになるそうです。

(URLの「エラー&トラブル一覧」やリファレンスが参考になるかも…)

◎質問者からの返答

ありがとうございます。

空白等はチェックしてるんですが・・・・・・。


4 ● upride
●20ポイント

http://www.scollabo.com/banban/jsindex/sample/sample_113.htm...

indexOf/JavaScript$B%j%U%!%l%s%9(B

通常indexOfは引数を2つ持ちます

一致しない場合-1を返します

if((parent.location.href.indexOf(’フォルダ名’,0)) < 0){

このようにしてはどうでしょうか?

◎質問者からの返答

ありがとうございます。

やってみたんですが、ダメでした・・・・・。

self.location.hrefだとうまく動くんですが、parent.location.hrefだとダメみたいで・・・・・・(Θ_Θ;) あきらめるしかないのかな・・・・・。


5 ● upride
●20ポイント

parent.locationを一回変数にいれて

indexOfで比較するのはどうでしょうか

もしくはfindで。

href付けるとダメなような気が(あくまで気です)

◎質問者からの返答

ありがとうございます。

確かにhrefを入れるとダメなようです。

ただ変数に入れる時にhrefがひっかかってしまいます。かといってhrefを外したら、アドレスがチェックできないようです。


1-5件表示/6件
4.前の5件|次5件6.
関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ