パスワードを忘れた? アカウント作成
12187053 story
インターネット

Microsoft曰く、Microsoft EdgeではWebKitと動作が異なる場合はバグ 72

ストーリー by headless
一致 部門より
Microsoftが新Webブラウザー「Microsoft Edge」での相互運用性向上のための取り組みについて説明している(Microsoft Edge Dev Blogの記事TNW Newsの記事)。

Microsoft EdgeではWebKitを採用せず、従来のMSHTML(Trident)エンジンをフォークしたEdgeHTMLエンジンを使用しているが、BlinkやWebKitとの相互運用性を高めるためにかなりの時間を費やしているという。そのため、すべてのブラウザーベンダーと協力して相互運用性の問題を修正する取り組みを行っているとのこと。

Microsoft EdgeのUser-agent文字列は「Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136」のような形式に変更されており、WebKitの動作と一致するように作られているという。それだけでなく、WebKitと動作が異なる部分は修正すべきバグであるとさえ述べている。

また、単にさまざまなWeb標準を実装するだけでなく、現実のWebコンテンツで使用されているものであればWeb標準に合わないものも許容するなどして、より多くのWebコンテンツが正しく表示されるようにしているとのことだ。
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by hinatan (24342) on 2015年06月21日 13時22分 (#2834560)
    >Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136
    Mozilla
        - Gecko
            - KHTML
                  - AppleWebKit
                              - Safari
                                    - Edge
                              - Chrome ????

    UserAgentとは何だったのか。
    この地層にmosaic が入ってないだけましか・・。
    • by Anonymous Coward on 2015年06月21日 13時31分 (#2834566)

      つーか、「Mozilla」「like Gecko」を名乗らないと正常に見えないサイトなんて
      実在するのかねえ?

      親コメント
      • by Anonymous Coward on 2015年06月21日 13時48分 (#2834579)

        あったからやってるとは推定できると思うけどな
        本当にそうかは確認したいとは特に思わないけれど

        恐らくはUserAgentでHTMLの中身を変えて送るというためという
        この仕様そのものが現実には不要なことだったんじゃないかな

        親コメント
        • by Anonymous Coward

          規格制定時には必要なことだったけれども、
          その後のJavaScriptやCSSの発展により既にトマソン化しかかっている仕様である、
          というほうがよいのではないか(提案)

      • by Anonymous Coward on 2015年06月21日 14時54分 (#2834598)

        Mozilla/4.0 (incompatible~
        って送ってやったらステータスコード500が返ってきたサイトなら会った

        親コメント
    • by Anonymous Coward on 2015年06月21日 16時47分 (#2834627)

      UAまでW3Cがきっちり規定してほしいなぁ。
      スペース区切りで
      エンジン/バージョン ブラウザ/バージョン OS/バージョン 端末タイプ(desktop/tablet/phone)
      Webkit/1.0 Safari/8.0 Mac/10.10.3 desktop
      てな具合に。

      既存のUAに依存した作りのサイトに配慮して、既存のUAはそのまま送信し、新しいUAは別の名前で送信すれば。UserAgent2 でもなんでも。しばらく両送信にして、古い方依存サイトの対応期間を設け、その後はきっぱり捨て去る。

      親コメント
      • by Anonymous Coward on 2015年06月21日 20時05分 (#2834682)

        そんな非現実的なspec作っても誰からも無視されるだけ。規定するなら、「対話的なユーザーエージェントは、User-Agent文字列を"Mozilla/5.0"で始め、"Gecko"を含めなければならない」とかだな。
        ちなみにHTML5ではすでに、「navigator.appCodeNameは常に"Mozilla"を、navigator.productは常に"Gecko"を返さなければならない」と規定されている [w3.org]。

        親コメント
    • これはもうオレオレ詐欺の部類だな。

      ただ、マイクロソフトが、User-Agent文字列を解析してブラウザの機能判定するようなサイトを撲滅したいんだとしたら、これはこれで正解かもしれん。

      それとも、MS Edgeのバージョンアップの度に、互換ブラウザのバージョン表記も上げていく気なんだろうか…。

      親コメント
    • by Anonymous Coward on 2015年06月21日 19時10分 (#2834656)

      User-AgentにMozilla と AppleWebKit と KHTML と Gecko と Chrome と Safariが含まれる場合は
      嘘吐きは帰れと403を返したい

      親コメント
      • by Anonymous Coward

        Firefox(本物のMozilla)「解せぬ」

  • 当面はしょうがないんだけど、本当は仕様に固い(最近のMSIEの標準準拠姿勢の継続)がいいな。
    ある程度Web/HTML5の機能の必要性や動作が落ち着いたら、仕様堅持に舵切りなおしてほしい。

    # (あとでの修正の必要が出たら対応する)覚悟もなくベンダプレフィックス使いまくりが一時多めにあったなあ、最近はどうだろう。

    まあ広く使われる(前から)、互換性重視(独自色はあれどMSもけっこうがんばってる)はそれはそれでえらいと思うので、がんばれ。

    --
    M-FalconSky (暑いか寒い)
    • by Anonymous Coward
      その仕様が実装後追いと云う。
  • by Anonymous Coward on 2015年06月21日 13時23分 (#2834561)

    webm(とogv)再生できるわけ?

  • by Anonymous Coward on 2015年06月21日 13時43分 (#2834573)

    meta refreshの"url="省略 [w3.org]もハイフンなしの"utf8" [w3.org]も、ちゃんとWeb標準で拾われているが。Edgeの開発チームはいったい何を見て「Web標準」だと思っているのか不安になってくるレベル。
    そもそもHTML5以降のWeb標準は、現実のWebコンテンツで使用されていて相互運用のために必要なら(エラー処理として)取り入れていくスタンスなのだからまず仕様を読めと。あとEdgeだけの暗黙知に留めないで仕様策定に参加してくれ。

  • by Anonymous Coward on 2015年06月21日 16時15分 (#2834622)

    今では人外お嬢さん三人が歌いながら踊ってる姿の方が頭に浮かんでくる

  • 話が違うが、クリップボードAPIを実装してほしいな。。

    特に任意のボタンでクリップボードに直接コピーするやつ。
    現HTML5はCtrl+Cをハンドルリング出来るようだけど、用途的に意味ないんですよね。。

    そのためだけにFlashを使ってるが、納得いかない。。

    そこまでやってくれるならEdgeをメインサポートにしたいぐらいだ。。

    • window.clipboardData [microsoft.com]
      Edgeでも使えるのかしら

      親コメント
    • by Anonymous Coward

      セキュリティガン無視のご要望ですな
      勝手にOSのクリップボード除き放題とか
      勘弁願いたいことこの上ない
       
      クライアント任意でってことなら
      フォーム内に書かせて値を取得くらいが妥当じゃないかな
      ページ遷移あるならクッキーへ格納で

    • by Anonymous Coward

      IE11でそういう機能が有った気がするけど…。使用時にパソコンのクリップボードにアクセスさせていいか確認が出るやつ。あれは独自実装だっけか?

  • by Anonymous Coward on 2015年06月21日 23時05分 (#2834763)

    ChromeはBlob URLを生成元のページと同じオリジンとみなすけどdata URLはだめ。Firefoxは両方OK。IE10はBlob URLもdata URLもだめで、Connectでフィードバックまでしたのに仕様だと言われた。ではEdgeがどう変わったかというと、なぜかdata URLだけOKになってた。なんでやねん。

  • by Anonymous Coward on 2015年06月21日 13時28分 (#2834564)

    独自エンジンが使えないから無いと思ってたけど、Webkitと同じ挙動がEdgeの目標ならiOS版では妥協する方法もあるのかな?
    それ以前にAndroid版が出るかどうかも分からんけど。

    • by Anonymous Coward

      iOS版では妥協、もなにも、出すか出さないかの二択で妥協もなにもないと思うが。
      Chromeみたいに、エンジン関係なく、ブラウザ体験やブックマークやタブ同期のためにアプリを出す意味は十分あると思うがね。

  • by Anonymous Coward on 2015年06月21日 13時43分 (#2834572)

    そこは標準準拠でいってくれよ
    webkitと同じが正しいのではなくて、webkitが非標準でウチが正しい!って言うのを目指してくれなきゃ
    これじゃwebkitを最初から使えばいいじゃん。って結論だされても仕方ないじゃない

    • by Anonymous Coward on 2015年06月21日 13時46分 (#2834575)

      webkitと同じ動作するならわざわざ独自に作る必要ないよね

      親コメント
    • by Anonymous Coward
      動作は合わせるが、コードは握っておきたいってのはあるんじゃねえの?
      • by Anonymous Coward

        あとwebkitにない機能追加とかね

    • by Anonymous Coward

      iOSの人気やChromeがwebkit採用してたことから、Webkitが標準的な位置づけになってた感はあるけど、Chromeはもう抜けたからなぁ。
      OperaもWebkitじゃなくBlinkを選んだし、MSもBlink選んだ方が正解なのかも。
      WindowsではSafariはないし、Chromeに合わせた方がより互換性は高まる気がする。

      まぁレンダリング上は割と問題は起きなくなってきてるからいいんだけど、htmlの新しい機能を各社すばやく対応してほしいものだ。Safariはまだwebrtcにも対応してない。

    • by Anonymous Coward

      相変わらず日本人は標準好きだなー。
      何を指すのかわからない「web標準」とか。
      whatwgなの?w3cなの?
      誕生当時からinternetは、動いていることが正義だよ。
      そんなに標準にこだわるなら、今すぐdix ethernet廃止だな。

      • by Anonymous Coward

        別に日本人に限らずWeb関連は標準化してほしいと思ってる人が多いと思うが
        cssのプレフィックスとか見てるだけで吐き気がする。

  • by Anonymous Coward on 2015年06月21日 14時47分 (#2834596)

    >we also spent a lot of time removing legacy IE-isms (No more ActiveX!).

    ここまで自己否定して、いったい何がしたいのか。
    WebKitが欲しいならWebKitを使えばいいだけの話で、独自エンジンを作る意味なんてないだろう。
    だいたい、他のブラウザだってNaClだのasm.jsだの独自拡張をぶっこんでいるのは無視か?

    しょーもないMicrosoftディスばっかり聞かされてノイローゼになった開発チームが作っているとしか思えない。
    「そもそもEdgeを作る意味は何か」ということが伝わってこない謎のプロジェクトになってる。

    • しょーもないMicrosoftディスばっかり聞かされてノイローゼになった開発チームが作っているとしか思えない。
      「そもそもEdgeを作る意味は何か」ということが伝わってこない謎のプロジェクトになってる。

      もう崖っぷちですよという事なんだろう。

      --
      #存在自体がホラー
      親コメント
    • by Anonymous Coward

      同じ動作をして、速い、軽い、というなら存在価値はあるのではないか。
      Edgeがそうとは限らないが。

    • by Anonymous Coward

      もはやWebコンテンツの表示なんて、ブラウザの役割の
      ほんの一部に過ぎないということでしょう。
      それなら我を張るより多数派に合わせたほうが賢い。

      そこでソースを外から借りずに自前で開発してみせるのは、
      見えないところで色々やりたいことがあるんでしょうね。

      • by Anonymous Coward

        forkすりゃいいだけなのに。見えないところで色々できるでしょ、GPLじゃないんだから。

        • by Anonymous Coward

          逆説的に言えばforkはしたくなかったからなんでしょ。
          ほぼゼロから書いたそうだし、webkitの挙動には倣いたいがソースは引き継がないって言うんだから、webkitのソースに何か好ましくない点を見出したんだろう。

    • by Anonymous Coward

      Webkitが欲しいわけじゃないって話だろ。
      今はWebkitの動作模倣してるけど、将来に渡ってそうし続けるとは言ってないわけだし。

    • by Anonymous Coward

      Microsoftのasm.jsやWebAssemblyに対する姿勢とか、
      WebKitにはWebkitとBlinkがある点とか、考慮されてます?

    • by Anonymous Coward

      IEをレガシとする市場を、MS自ら取りにいく。デュアルエンジンひっさげて。ってことかと。

  • by Anonymous Coward on 2015年06月21日 15時28分 (#2834612)

    WebKitと同じならWebKitを使えって言っている人が居るけど、そこで言う同じというのは受けたコンテンツを元にどのような出力を行うかだと思うんですよ。
    そして、そこには、それをどう処理するか、どのように実装するか、どのように周辺を含めて構成するかは含まれてません。

    Google がブランチして Blink を作った事を思い出しましょうよ。

    • by Anonymous Coward

      うん、だからなんでforkしないの?
      って言ってるんだと思うよ。
      断定的に色々述べてて知ってるようだから聞くけど、なんで?

      • by Anonymous Coward

        そりゃwebkit由来の変なバグ入れないためでしょ
        OpenSSLにHeartbeatの問題で大変なことになってた時も
        MSはSSLを独自実装していたおかげで問題が起きなかったわけだし

  • by Anonymous Coward on 2015年06月21日 19時13分 (#2834660)

    > Microsoft曰く、Microsoft EdgeではWebKitと動作が異なる場合はバグ
     
    プレビュー版だとChromeよりむしろ
    Firefoxよりの表示結果なんだが
    リリース一か月前でバグだらけってことですかね
     
    # iPhone SafariとAndoroid ChromeはいいがWindows10 Phoneお前はダメだ

  • by Anonymous Coward on 2015年06月21日 20時42分 (#2834700)

    色々言うことはできるけど実際どうなるかは気になる。過去のブラウザ戦争期の轍は踏んでほしくないですね。

    例えばあからさまにwebkitにバグがある動作があるとする。こういう場合Edgeではどうするか?
    A. webkit/blinkに合わせる
    B. 規格に合わせる

    そのwebkitのバグが長年放置されているとする。(昔のIEみたいに)みんな仕方ないからバッドノウハウで対応したり、webkitに合わせて規格通りじゃない動作準拠で作り込んでいて、規格通りなブラウザでは問題が起きる。この場合はA or B?
    逆におかしいのはwebkit/blinkのみ。この場合はA or B?
    blinkとwebkitの動作が違う。この場合はどっちに合わす?

typodupeerror

皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー

読み込み中...