問題タブ [vml]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
internet-explorer-8 - 要素のattr()とtext()(塗りつぶし、ストローク、太さ)を編集するときのIE8でのRaphaelJSの大幅な速度低下
私はRaphaelJSを使用してIE8のいくつかのパフォーマンスの問題をデバッグしています。ラファエルの最大1000個の要素とテキストノードからグラフを作成しています。特に、1つのグラフがレンダリング時に問題を引き起こしています。IE9では、レンダリングするマシンに応じて2〜7秒かかり、IE8では1分以上かかります。
あなたはここで問題のウェブサイトを見ることができます。3番目のグラフです(クリックしてください)。
基本的に、データの各ポイントの要素を作成し、それらをラファエルキャンバスに描画します。
私はIEDeveloperToolsプロファイラーを使用し、それが両方から呼び出された関数setFillAndStroke()
であり、要素の塗りつぶし、ストローク、スタイル、およびその他のいくつかの設定を変更したときに呼び出されることを確認しました。関数はの犯人です。attr()
text()
getBoundingRect()
setFillAndStroke()
これがプロファイラー出力のスクリーンショットです
私の研究では、IE8で問題を抱えている人々に出くわしましattr()
たtext()
。
だからいくつかの質問:
- Raphael要素に「デフォルト」の塗りと線を設定して、その塗りと線で作成できるようにすることはできますか?これにより、への呼び出しが削除され
getClientBoundingRect()
ます。ドキュメントでそのような関数を探してみましたが、うまくいきませんでした。 - これは、グラフのルックアンドフィールを変更せずに解決できるものですか?
- これがコードだけでできることである場合、RaphaelJSを変更せずにそれを行うことは可能ですか?
- 他のアイデアはありますか?
誰かが古いバージョンのRaphaelで同様の問題を抱えているようで、明らかに2.0.0で修正されましたが、バージョン2.0.2を使用しています(2.1.0でも同じ問題があることがテストされています)。
これがgithubの問題レポートです。
javascript - jquery.clone() 要素の属性
vml 要素 v:shape を作成し、スタイルと属性を追加してから追加します。
そして、同じ形状を別の場所に追加したい
ただし、スタイルのみを複製します
どうすればいいですか?
助けvar element = document.createElement("p");
てください
。$(selector).each(function(index, element) {
_仕事(
javascript - Raphaël.js:円に合わせて円の塗りつぶし画像をスケーリングする方法は?
画像付きの円を生成するために Raphael の VML 機能を使用しようとしています (border-radius がない IE8 の修正)。
私の問題は、私が使用する場合
私の画像は円よりも大きく、画像は部分的にしか表示されておらず、画像を円の直径に縮小する方法が見つかりません。
これどうやってするの?
internet-explorer-8 - raphael.js IE8 透過ストローク
でランダムな透明なパスをたどる 2 つのオブジェクトで晴れた空を作成しましたraphaël.js
。
これは、すべての適切なブラウザーで正常に機能します。
WinXP ユーザーのためにサポートする必要がある IE8 のみが、上部の太陽光線に黒いパスと反転したグラデーションを示します (これは重要ではありません)。
これはraphaël.js
、IE6-8 では VML を使用し、他のすべてのブラウザーでは SVG を使用することに関係していると確信しています。しかし、それは解決策ではなく説明かもしれません...
アイデア?
edit @amadan: ご尽力ありがとうございます。しかし、これは飛行機を「クラッシュ」させます:
internet-explorer - IE9、IE8、SVG、VML、および doctype
ASP.NET Web アプリで図形の描画に取り組んでいます。IE9 やその他のブラウザーでは、SVG を使用して実行していますが、うまく機能しています。IE8 以下では、VML を使用しています。IE8 標準モード (互換ビューを使用していない) の場合、IE8 は VML をまったく表示しないことがわかりました。
私のDoctypeはに設定されてい<!DOCTYPE html>
ます。doctype を完全に取り除くと、IE8 は互換モードになり、正常に動作しますが、IE9 は(IE9 標準ではなく)その互換モードになり、SVG を表示しません。
<svg>
これはテスト ページで発生しているため、要素とその子または VML 要素のいずれかを含む div を含むフォーム以外には何もありません。
ここで何が起こっているのですか?さまざまなブラウザーの doctype を変更する必要はないようです。また、Stack Exchange のユーザー ページのレピュテーション グラフも同じように機能しているようです (IE8 以下では VML、それ以外では SVG、HTML5 doctype)...
javascript - 2秒後に再描画したいラファエルのパスを削除するにはどうすればよいですか?
以下に貼り付けたコードは、時間間隔を定義して段階的に線を描画するために正常に機能します。(ここに示されていないいくつかの変数を使用します)。私が抱えている問題は、ラファエルのremove()関数を使用してパスオブジェクトmyPath1または2を削除すると、次のオブジェクトを描画したり、自分自身を再描画したりしたくないということです。パスメソッドを壊しているようです。
これはどのようにすればよいですか?パスを再描画/蘇生できるようにしたいのですが、ポイント0からやり直す必要があるので、削除したほうがいいと思いました。
masking - vml クリッピング マスク
clip-path
SVGに対応するクリッピング マスクを VML で作成しようとしていますか? それは可能ですか?
多数の、しかしかなり限定された例に基づいて、私は形を描いてみました:
次に、次を使用してマスキングしvmlframe
ます。
形状(三角形)の描画は期待どおりに機能しますが、 vmlframeを使用してマスクする方法が見つかりません。それはマスキングを達成する正しい方法ですか?
VML コードの大部分はサードパーティのライブラリを介して生成されているため、一連の奇妙なカスタム属性はすべて無視してください。
前もって感謝します!
svg - Is there an SVG to VML conversion tool? Offline or Online. (Not on the fly)
I have been hunting high and low for a tool to convert an SVG file into VML which is readable by internet explorer.
I have found several 'on the fly' solutions but these are unnecessary as we only wish to use vector graphics on a few simple, non changing, but scaleable drawings.
Is there any tool out there, offline or online that will accept an SVG file and output VML code?
Kind regards.
javascript - IE8 で VML を印刷する
以下は、IE のすべてのバージョンで正常に表示される非常に単純な VML サンプルです。また、IE8 を除くすべてのバージョンの IE で印刷されます。IE8 で VML を印刷できることはわかっていますが、どうすればよいかわかりません。ヒントをありがとう。
raphael - VML マウス イベント オブジェクトの構造は何ですか?
VML マウス イベント オブジェクトの構造 (プロパティとメソッド) を教えてください。
私は Raphael を使用しています。要素がホバーされたときのマウス座標を知りたいです。Firefox と Chrome では動作しevent.pageX
てevent.pageY
いますが、IE8 では動作しません。
これがJSFiddleです。