• ベストアンサー

javaScript:location.href

javaScriptでlocation.hrefをつかってURLを抽出したところ ttp://○○:△△/%e9%a8~~~.htmlといった具合に途中部分が文字化けされてしまいます。 1、おそらく日本語部分が文字化けしたものだと考えられるのですが、正しく表示する方法を教えていただきたいです。 2、△△の部分が謎の4ケタの数字が表示されるのですが、これは何でしょうか。 回答よろしくお願い致します。

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

  • ベストアンサー
  • b0a0a
  • ベストアンサー率49% (156/313)
回答No.1

文字化けではなくそれが実際使われてるデータです 2バイト文字を使うこともできなくはないですが通例エンコードされているのです よってそれで全くの正常ですが、もしデコードしたいのならdecodeURIでも使ってください △△はポート番号です

sorakana
質問者

お礼

なるほど、今思えばURLに日本語表記なんて見たことが無いので、こうなるのが正常だということに気づかないのがおかしかったですね・・・ おとなしくファイルとフォルダー名を変えることにします。 回答有難うございました。

sorakana
質問者

補足

△はポート番号なのですね。 しかし、何故一般のURLにはポートが表示されず、私のURLには表示されるのでしょうか。 ドメインにはIP+ポートの意味が込められているなどの理由から、これも正常なのでしょうか。

関連するQ&A

  • location.hrefが動かない・・・

    F5が押された場合に指定したURLに飛ばすようにしたいのですがなかなかうまくいきません・・・ ブラウザはFirefox 2.0.0.7を使用しています コードは以下の様にしております <script type="text/javascript"><!-- function key(keyCode){ if (keyCode == 116){ location.href = "http://www.google.co.jp/"; } } --></script> <body onKeyDown="key(event.keyCode)"> </body> 指定URLはGoogleにしています これ状態でF5を押してもなにも起こらず普通に更新されるだけです location.href = "http://www.google.co.jp/";の部分をdocument.write('TEST');などのようにdocumet.writeに書き換えると普通に指定した文字列が表示させます location.hrefと同様にwindow.location.hrefやlocation.replaceでも指定URLに飛ばされません documet.writeは動くのでF5が押されたかどうか判断するコードは間違っていないと思うのですが・・・ ちなみにIEでもダメでした 誰か原因がわかる方が居られましたら教えてください よろしくお願いします

  • location.hrefのURLについて

    以下のリンクの場合、現在表示しているアドレス(URL)が送られますが、 <a onclick="window.open('http://exsample.com='+encodeURIComponent(document.title)+' '+encodeURI(location.href));" href="javascript:void(0);"> これを指定したURLに変更したいのですが、その記述方法がわかりません。 ご教授よろしくお願いします。

  • location.hrefを使用したFRAME表示

    location.hrefを使ったjavascriptを作ろうとしています。 <script type="text/javascript"><!-- location.href = "http://www.yahoo.co.jp/"; // --></script> の改良版として、http://www.yahoo.co.jp/をフレームの右側に 表示させたいと考えています。 (src使用ではなくjavascriptのlocation.hrefを使うことがMUSTです) <head> <script type="text/javascript"><!-- right.location.href = "http://www.yahoo.co.jp/"; // --></script> </head> <body> <FRAMESET cols="50%,50%"> <FRAME name="left" src="left.html"> <FRAME name="right" src="right.html"> </FRAMESET> </body> としてみましたがうまくいきません。 location.hrefはmetaタグ内でしか有効ではないにも関わらず right.の指示をメタタグ内部で指定していないことが原因かも しれません。 javascriptのlocation.hrefを使ってフレームの右側に 表示させる方法をご教授願います。

  • location.hrefの使用方法について

    location.hrefで取得した現在表示しているURLをhtmlのbody中の<a href="ここに代入"></a>に代入したいのですが、いろいろやったり調べたりしたのですができません。ご教授いただけると幸いです。 目的は、動的ページをfirefoxユーザーにブックマークしてもらうことです。以下の「url」部分を現在表示中のURLにしたい<a href="url" rel="sidebar" title="name">ブックマークに追加</a>。できればタイトルも現在のページから取得したい。 ちなみにIEでは以下のとおりで希望の機能を実現しています。 <script type="text/javascript"> <!-- if ((navigator.appVersion.indexOf("MSIE") > 0) && (parseInt(navigator.appVersion) >= 4)) { document.write("<p><SPAN STYLE='color:blue;cursor:hand;' onclick='window.external.AddFavorite(location.href, document.title);'>このページをお気に入りに追加する。<\/SPAN><\/p>"); } //--> </script>

  • location.hrefについて

    お世話になります。 以前、こちらで教えて頂いた方法なのですが、 (以前した質問のURL:http://oshiete1.goo.ne.jp/qa3297252.html) IEや、FireFoxのバージョンアップの為なのか、それともコード的な問題があるのかよくわからないのですが、変数に格納したリンクをlocation.hrefを使ってリンクを試みると、何故か現在表示しているページのURLが追加されてリンクしてしまい、適切な表示をしてくれません。 どうしたら、正常にページ移動が行われるでしょうか? なお、組んでいるコードは以前質問した際に公開したコードに、ご指摘頂いた部位を修正したものです。 お手数ですが、ご教授願います。

  • location.hrefを使ったインラインフレームが宣言されていませんとなる

    web初心者です。 インラインフレームを使用しているのですが、JavaScriptからxxxx.location.href=~とすると、xxxxは宣言されていませんというエラーになります。 表示されたwebのソースをみると、xxxxは存在するのですが。。。 原因が分かりません。 何か思い当たる点があれば、教えて下さい。

  • location.replaceについて

    親ページから子ページを表示います。 ※JavaScriptのwindow.openで子ページを開いています。 子ページにはテキストボックス等を配置していて項目を入力したら[閉じる]ボタンを押下して子ページを閉じて子ページで入力された値で親ページを再表示して反映させていますがここで1つ問題が発生してしまいました。 ※子ページの[閉じる]ボタンにはonClickでJavaScriptを設定しています。 JavaScriptの内容は下記の通りです。 function closeScript(){   window.opener.location.reload();   window.close(); } 押下すると「再試行」のダイアログが表示されてしまって・・・ ネットで検索して調べてみたら「再試行」のダイアログの制御はできないとの事でした。 再度、ネットで調べていたら下記のような記述がありました。   location.replace(location.href); 上記のJavaScriptを下記のように変更して子ページの[閉じる]ボタンを押下してみたら「再試行」のダイアログが表示されず、子ページを閉じる事が出来ました。 しかし、親ページは何も反応がないような・・・ そこで皆さんに質問があります。 「location.replace(location.href);」が何をやっているのかをネットで調べてみましたが・・・ 「location.replace」・・・「指定したページへ移動する」との事でした。 「location.href」・・・現在表示しているページのアドレス(URL)を示す文字列です。 上記のスクリプトは何を行っているのでしょうか。実際に動かしてもうんともすんとも言わないので・・・ くだらない質問で申し訳ありませんがわかりやすく教えていただけませんでしょうか。 宜しくお願いします。

  • location.hrefはブラウザごとに異なる?

    phpなどで動的ページでhtmlを出力しています。 一覧で複数ジャンルを表示させているのですが、 静的ページなら<a name="xx">スクロール先</a>を使って 該当ジャンルまでスクロールさせて表示できますが、 動的ページのため、javascriptを用いてIEでは動作確認できましたが FireFoxやSafariでは、location.href="#jmp";では<a name="jmp"></a>に 移動しませんでした。 すべてのブラウザで同じ動作をさせる方法はありますか? FireFox, Safari個別の方法でも構いません。

  • JavaScriptを追加したい

    こんにちは。 こちら(ttp://f22.aaa.livedoor.jp/~sncspt/)のサイトさんの配布している「SNC THREADBBS 3」を使用したいのですが、その中に ***** <script type="text/javascript"> <!-- var url = "http://サイトアドレス"; if((document.referrer == "") || (document.referrer.match(url) == null)) { window.location.href = url; } // --> </script> ***** もしくは、 ***** <LINK rel="stylesheet" TYPE="text/css" HREF="javascript.js"> ***** のように入れたいのですが、どこにどう入れたらいいか分かりません。 そのサイトさんで聞けばいいのかもしれませんが、少し急いでいますのでどなたかアドバイスをお願いしたいです。 よろしくお願いします。

  • テキストボックスのvalue属性でlocation.hrefをする

    <script type="text/javascript"> function jumpPage(){ location.href = "http://hogemoge.com/foo/" + document.urlform.url.value; } </script> <form name="urlform"> <input type="text" id="url"> <input type="submit" style="display: none;" onclick="jumpPage();"> </form> というHTMLがあります。 しかし実際はページが飛びません。 どうしたら飛ぶようになりますか。

専門家に質問してみよう