要素の innerhtml を変更すると、css3-container テキスト ノードが画面にレンダリングされる競合状態が発生するようです。私がネット上で見つけた最も近いものはこれでした:
https://groups.google.com/forum/#!msg/knockoutjs/M7sZvSFqD5I/Lg9kpNmvkkgJ http://css3pie.com/forum/viewtopic.php?f=3&t=1531
最初のパラメーターとして html を渡そうとしたときに、fancybox で同じ問題が発生しました。
私はmodernizrへのこのパッチで私の問題を解決しようとしました:
diff --git a/js/libs/modernizr-2.5.3.js b/js/libs/modernizr-2.5.3.js
index c1a6a9a..0bc0d11 100755
--- a/js/libs/modernizr-2.5.3.js
+++ b/js/libs/modernizr-2.5.3.js
@@ -1071,7 +1071,12 @@ window.Modernizr = (function( window, document, undefined ) {
// a 403 response, will cause the tab/window to crash
// * Script elements appended to fragments will execute when their `src`
// or `text` property is set
- var node = (cache[nodeName] || (cache[nodeName] = docCreateElement(nodeName))).cloneNode();
+ var node;
+ if (nodeName == "css3-container") {
+ node = docCreateElement(nodeName);
+ } else {
+ node = (cache[nodeName] || (cache[nodeName] = docCreateElement(nodeName))).cloneNode();
+ }
return html5.shivMethods && node.canHaveChildren && !reSkip.test(nodeName) ? frag.appendChild(node) : node;
};
しかし、それはあまりにもハックです。この問題を回避する他の適切な方法はありますか?