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コンテンツが正しく表示されるようにしているとのことだ。
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コンテンツが正しく表示されるようにしているとのことだ。
このUserAgentはひどい (スコア:5, 興味深い)
Mozilla
- Gecko
- KHTML
- AppleWebKit
- Safari
- Edge
- Chrome ????
UserAgentとは何だったのか。
この地層にmosaic が入ってないだけましか・・。
Re:このUserAgentはひどい (スコア:2, 興味深い)
つーか、「Mozilla」「like Gecko」を名乗らないと正常に見えないサイトなんて
実在するのかねえ?
Re:このUserAgentはひどい (スコア:1)
あったからやってるとは推定できると思うけどな
本当にそうかは確認したいとは特に思わないけれど
恐らくはUserAgentでHTMLの中身を変えて送るというためという
この仕様そのものが現実には不要なことだったんじゃないかな
Re: (スコア:0)
規格制定時には必要なことだったけれども、
その後のJavaScriptやCSSの発展により既にトマソン化しかかっている仕様である、
というほうがよいのではないか(提案)
Re:このUserAgentはひどい (スコア:1)
Mozilla/4.0 (incompatible~
って送ってやったらステータスコード500が返ってきたサイトなら会った
Re:このUserAgentはひどい (スコア:2, 興味深い)
UAまでW3Cがきっちり規定してほしいなぁ。
スペース区切りで
エンジン/バージョン ブラウザ/バージョン OS/バージョン 端末タイプ(desktop/tablet/phone)
Webkit/1.0 Safari/8.0 Mac/10.10.3 desktop
てな具合に。
既存のUAに依存した作りのサイトに配慮して、既存のUAはそのまま送信し、新しいUAは別の名前で送信すれば。UserAgent2 でもなんでも。しばらく両送信にして、古い方依存サイトの対応期間を設け、その後はきっぱり捨て去る。
Re:このUserAgentはひどい (スコア:3, 参考になる)
そんな非現実的なspec作っても誰からも無視されるだけ。規定するなら、「対話的なユーザーエージェントは、User-Agent文字列を"Mozilla/5.0"で始め、"Gecko"を含めなければならない」とかだな。
ちなみにHTML5ではすでに、「navigator.appCodeNameは常に"Mozilla"を、navigator.productは常に"Gecko"を返さなければならない」と規定されている [w3.org]。
Re:このUserAgentはひどい (スコア:1)
これはもうオレオレ詐欺の部類だな。
ただ、マイクロソフトが、User-Agent文字列を解析してブラウザの機能判定するようなサイトを撲滅したいんだとしたら、これはこれで正解かもしれん。
それとも、MS Edgeのバージョンアップの度に、互換ブラウザのバージョン表記も上げていく気なんだろうか…。
Re:このUserAgentはひどい (スコア:1)
ひどい話だが、これ最初にやったのはMSじゃないんだよ…
Re:このUserAgentはひどい (スコア:1)
User-AgentにMozilla と AppleWebKit と KHTML と Gecko と Chrome と Safariが含まれる場合は
嘘吐きは帰れと403を返したい
Re: (スコア:0)
Firefox(本物のMozilla)「解せぬ」
キャッチアップとしてはそうだろうし (スコア:1)
当面はしょうがないんだけど、本当は仕様に固い(最近のMSIEの標準準拠姿勢の継続)がいいな。
ある程度Web/HTML5の機能の必要性や動作が落ち着いたら、仕様堅持に舵切りなおしてほしい。
# (あとでの修正の必要が出たら対応する)覚悟もなくベンダプレフィックス使いまくりが一時多めにあったなあ、最近はどうだろう。
まあ広く使われる(前から)、互換性重視(独自色はあれどMSもけっこうがんばってる)はそれはそれでえらいと思うので、がんばれ。
M-FalconSky (暑いか寒い)
Re: (スコア:0)
へ~じゃあ (スコア:1)
webm(とogv)再生できるわけ?
Re:へ~じゃあ (スコア:1)
Safariは再生できないでしょ。はっ、BlinkではなくWebKitと言ったのはそのためか!
Web標準 (スコア:1)
meta refreshの"url="省略 [w3.org]もハイフンなしの"utf8" [w3.org]も、ちゃんとWeb標準で拾われているが。Edgeの開発チームはいったい何を見て「Web標準」だと思っているのか不安になってくるレベル。
そもそもHTML5以降のWeb標準は、現実のWebコンテンツで使用されていて相互運用のために必要なら(エラー処理として)取り入れていくスタンスなのだからまず仕様を読めと。あとEdgeだけの暗黙知に留めないで仕様策定に参加してくれ。
Tridentといえば (スコア:1)
今では人外お嬢さん三人が歌いながら踊ってる姿の方が頭に浮かんでくる
Re:Tridentといえば (スコア:2)
ドラゴンチップとか呼ばれてた安くてそこそこ速いVGAカードの時代は遠くなりにけり
Re: (スコア:0)
プラグインもあるよね。
クリップボードAPIを実装してほしい。 (スコア:1)
話が違うが、クリップボードAPIを実装してほしいな。。
特に任意のボタンでクリップボードに直接コピーするやつ。
現HTML5はCtrl+Cをハンドルリング出来るようだけど、用途的に意味ないんですよね。。
そのためだけにFlashを使ってるが、納得いかない。。
そこまでやってくれるならEdgeをメインサポートにしたいぐらいだ。。
Re:クリップボードAPIを実装してほしい。 (スコア:2)
window.clipboardData [microsoft.com]
Edgeでも使えるのかしら
Re: (スコア:0)
セキュリティガン無視のご要望ですな
勝手にOSのクリップボード除き放題とか
勘弁願いたいことこの上ない
クライアント任意でってことなら
フォーム内に書かせて値を取得くらいが妥当じゃないかな
ページ遷移あるならクッキーへ格納で
Re:クリップボードAPIを実装してほしい。 (スコア:1)
クリップボードAPIでなにか悪いことができるならFlashでまったく同じことができるので、セキュリティを理由に導入しなかったところでFlashからの移行を遅らせるだけで意味がない。
Re: (スコア:0)
IE11でそういう機能が有った気がするけど…。使用時にパソコンのクリップボードにアクセスさせていいか確認が出るやつ。あれは独自実装だっけか?
data URLとBlob URL (スコア:1)
ChromeはBlob URLを生成元のページと同じオリジンとみなすけどdata URLはだめ。Firefoxは両方OK。IE10はBlob URLもdata URLもだめで、Connectでフィードバックまでしたのに仕様だと言われた。ではEdgeがどう変わったかというと、なぜかdata URLだけOKになってた。なんでやねん。
iOS版Edgeの可能性 (スコア:0)
独自エンジンが使えないから無いと思ってたけど、Webkitと同じ挙動がEdgeの目標ならiOS版では妥協する方法もあるのかな?
それ以前にAndroid版が出るかどうかも分からんけど。
Re: (スコア:0)
iOS版では妥協、もなにも、出すか出さないかの二択で妥協もなにもないと思うが。
Chromeみたいに、エンジン関係なく、ブラウザ体験やブックマークやタブ同期のためにアプリを出す意味は十分あると思うがね。
いつからwebkitが標準仕様になった? (スコア:0)
そこは標準準拠でいってくれよ
webkitと同じが正しいのではなくて、webkitが非標準でウチが正しい!って言うのを目指してくれなきゃ
これじゃwebkitを最初から使えばいいじゃん。って結論だされても仕方ないじゃない
Re:いつからwebkitが標準仕様になった? (スコア:1)
webkitと同じ動作するならわざわざ独自に作る必要ないよね
Re: (スコア:0)
Re: (スコア:0)
あとwebkitにない機能追加とかね
Re: (スコア:0)
iOSの人気やChromeがwebkit採用してたことから、Webkitが標準的な位置づけになってた感はあるけど、Chromeはもう抜けたからなぁ。
OperaもWebkitじゃなくBlinkを選んだし、MSもBlink選んだ方が正解なのかも。
WindowsではSafariはないし、Chromeに合わせた方がより互換性は高まる気がする。
まぁレンダリング上は割と問題は起きなくなってきてるからいいんだけど、htmlの新しい機能を各社すばやく対応してほしいものだ。Safariはまだwebrtcにも対応してない。
Re: (スコア:0)
相変わらず日本人は標準好きだなー。
何を指すのかわからない「web標準」とか。
whatwgなの?w3cなの?
誕生当時からinternetは、動いていることが正義だよ。
そんなに標準にこだわるなら、今すぐdix ethernet廃止だな。
Re: (スコア:0)
別に日本人に限らずWeb関連は標準化してほしいと思ってる人が多いと思うが
cssのプレフィックスとか見てるだけで吐き気がする。
卑屈すぎておかしい (スコア:0)
>we also spent a lot of time removing legacy IE-isms (No more ActiveX!).
ここまで自己否定して、いったい何がしたいのか。
WebKitが欲しいならWebKitを使えばいいだけの話で、独自エンジンを作る意味なんてないだろう。
だいたい、他のブラウザだってNaClだのasm.jsだの独自拡張をぶっこんでいるのは無視か?
しょーもないMicrosoftディスばっかり聞かされてノイローゼになった開発チームが作っているとしか思えない。
「そもそもEdgeを作る意味は何か」ということが伝わってこない謎のプロジェクトになってる。
Re:卑屈すぎておかしい (スコア:1)
しょーもないMicrosoftディスばっかり聞かされてノイローゼになった開発チームが作っているとしか思えない。
「そもそもEdgeを作る意味は何か」ということが伝わってこない謎のプロジェクトになってる。
もう崖っぷちですよという事なんだろう。
#存在自体がホラー
Re:卑屈すぎておかしい (スコア:1)
英語が苦手なのは否定しないので、勉強させていただけませんか?
Edge
【可算名詞】 (二つの線の接する)縁,へり,かど; 端.
というのは確かみたいではあるのですが、
まああまり面白いコメントでないとか的を得てないのかもしれないというのは認めます。
#存在自体がホラー
Re:卑屈すぎておかしい (スコア:1)
なるほど、勉強になりました。
#スムーズにおもしろおかしいを得る道は遠い
#存在自体がホラー
Re: (スコア:0)
同じ動作をして、速い、軽い、というなら存在価値はあるのではないか。
Edgeがそうとは限らないが。
Re: (スコア:0)
もはやWebコンテンツの表示なんて、ブラウザの役割の
ほんの一部に過ぎないということでしょう。
それなら我を張るより多数派に合わせたほうが賢い。
そこでソースを外から借りずに自前で開発してみせるのは、
見えないところで色々やりたいことがあるんでしょうね。
Re: (スコア:0)
forkすりゃいいだけなのに。見えないところで色々できるでしょ、GPLじゃないんだから。
Re: (スコア:0)
逆説的に言えばforkはしたくなかったからなんでしょ。
ほぼゼロから書いたそうだし、webkitの挙動には倣いたいがソースは引き継がないって言うんだから、webkitのソースに何か好ましくない点を見出したんだろう。
Re: (スコア:0)
Webkitが欲しいわけじゃないって話だろ。
今はWebkitの動作模倣してるけど、将来に渡ってそうし続けるとは言ってないわけだし。
Re: (スコア:0)
Microsoftのasm.jsやWebAssemblyに対する姿勢とか、
WebKitにはWebkitとBlinkがある点とか、考慮されてます?
Re: (スコア:0)
IEをレガシとする市場を、MS自ら取りにいく。デュアルエンジンひっさげて。ってことかと。
「同じ」の意味ですよ (スコア:0)
WebKitと同じならWebKitを使えって言っている人が居るけど、そこで言う同じというのは受けたコンテンツを元にどのような出力を行うかだと思うんですよ。
そして、そこには、それをどう処理するか、どのように実装するか、どのように周辺を含めて構成するかは含まれてません。
Google がブランチして Blink を作った事を思い出しましょうよ。
Re: (スコア:0)
うん、だからなんでforkしないの?
って言ってるんだと思うよ。
断定的に色々述べてて知ってるようだから聞くけど、なんで?
Re: (スコア:0)
そりゃwebkit由来の変なバグ入れないためでしょ
OpenSSLにHeartbeatの問題で大変なことになってた時も
MSはSSLを独自実装していたおかげで問題が起きなかったわけだし
マジで? (スコア:0)
> Microsoft曰く、Microsoft EdgeではWebKitと動作が異なる場合はバグ
プレビュー版だとChromeよりむしろ
Firefoxよりの表示結果なんだが
リリース一か月前でバグだらけってことですかね
# iPhone SafariとAndoroid ChromeはいいがWindows10 Phoneお前はダメだ
どう答えるかな? (スコア:0)
色々言うことはできるけど実際どうなるかは気になる。過去のブラウザ戦争期の轍は踏んでほしくないですね。
例えばあからさまにwebkitにバグがある動作があるとする。こういう場合Edgeではどうするか?
A. webkit/blinkに合わせる
B. 規格に合わせる
そのwebkitのバグが長年放置されているとする。(昔のIEみたいに)みんな仕方ないからバッドノウハウで対応したり、webkitに合わせて規格通りじゃない動作準拠で作り込んでいて、規格通りなブラウザでは問題が起きる。この場合はA or B?
逆におかしいのはwebkit/blinkのみ。この場合はA or B?
blinkとwebkitの動作が違う。この場合はどっちに合わす?