タグ

JavaScriptとURLに関するmsakamoto-sfのブックマーク (4)

  • 第5回 問題を発生させにくくするURLの扱い方 | gihyo.jp

    現在、主要なブラウザのほとんどでは、表示しているページの正規化されたオリジンをJavaScript上から取得するためのoriginプロパティがlocationオブジェクトに実装されています。 IE10以下などではlocation.originは実装されていないので、location.originプロパティを参照したい場合には、以下のようなコードを入れておくといいでしょう。 if( location.origin === undefined ){ location.origin = location.protocol + "//" + location.hostname + (location.port ? ":" + location.port : ""); } console.log( location.origin ); // 現在のオリジンを表示 たとえば、現在のドキュメントがhtt

    第5回 問題を発生させにくくするURLの扱い方 | gihyo.jp
  • IEのdocument.URLUnencodedとは何者なのか

    両者の違いを詳しく説明しているサイトが見つかりませんでしたので、自分でざっくり調べてみました。付け焼き刃なので、間違いが含まれている可能性はあります。 結論から言うとdocument.URLUnencodedはバグのまま放置されているのではないかと推測しました。 仕様 document.URL(以下、URL) URLの仕様はW3Cで定義されており、 URL of type DOMString, readonly The absolute URI [IETF RFC 2396] of the document. とあります。読み取り専用になっているのはこれを準拠しているからでしょう。 document.URLUnencoded(以下、URLUnencoded) URLUnencodedはIEの独自実装(他ブラウザでも一部対応していた気もしますが失念)ですが、質問にも記載されているMSDNの説

    IEのdocument.URLUnencodedとは何者なのか
  • encodeURIComponentが世界基準だと誤解してた話

    URLをいじくるプログラムをいじっていて、仕様がよくわからなくて悩んだのでまとめます。 2/23: 追試部分を追記 2018/7/14: JavaScriptのURLSearchParamsと、GoのPathEscapeについて追記 ことの経緯 HTTPとはなんぞやとか、GETとPOSTがどうの、それぞれでパラメータがどういう経緯でウェブアプリケーション(とかCGI)に渡って来るのかぐらいは知っていました。で、ウェブでXHRでGETリクエストを送る場合にはJavaScriptのencodeURIComponent()で各パラメータをエンコードして、&でくっつけて、URLの末尾に?で付与すればいいんだよね?と思っていました。こんな感じに。 これを受け取る側は、JavaScript(node.js)ならdecodeURIComponent()を使っているはずだ。ウェブの世界ではJavaScri

    encodeURIComponentが世界基準だと誤解してた話
    msakamoto-sf
    msakamoto-sf 2016/02/03
    URLエンコード, パーセントエンコード
  • URIに使ってよい文字の話 - RFC2396 と RFC3986 - 本当は怖いHPC & AI

    POSTするデータを、(プレビューのために)javascriptでGETアクセスするような処理を書いていてハマった話。 発端は、textareaに'(シングルクオートまたはアポストロフィー)が入ると、Railsがそこから先のパラメーターを無視しちゃうっていうこと。いろいろ調べた結果、以下のことがわかった(Railsのバージョンは2.0.2)。 URIを定義する2つのRFC URIの構文はRFCで定義されている。これには2つあって、従来のRFC2396(1998年発行)と、RFC3986(2005年発行)だ。 RFC3986によれば、 This document obsoletes [RFC2396], which merged "Uniform Resource Locators" [RFC1738] and "Relative Uniform Resource Locators" [RF

    URIに使ってよい文字の話 - RFC2396 と RFC3986 - 本当は怖いHPC & AI
    msakamoto-sf
    msakamoto-sf 2015/11/05
    %エンコーディング
  • 1