私はhtmlページに.svgが埋め込まれています。私は、javaスクリプトのロジックのほとんどを書かれているとhtmlとの.svgファイル間で同じ.jsファイルを共有したいと思います:EX用htmlとsvgの間でjavaスクリプトメソッドを共有するには?
を:私は、mylogic.jsに次のように持っている:
var xmlDoc = null;
function loadXmlDoc() {
xmlDoc = new XmlDoc.....
}
function onHtmlLoad() {
loadXmlDoc();
}
function onSvgLoad() {
xmlDoc.getElemementById(...
}`
そして、htmlで、...私は
<html>
<script src="mylogic.js"></script>
<body onLoad='onHtmlLoad();">
...
<object id='svgid' data='sample.svg'.../>
...
</body>
</html>
を持っているし、私のような再びそれらを含める必要がありますので、HTMLページに含まれるJavaスクリプトが埋め込まれたの.svgファイルには表示されません
<svg...onload="window.onSvgLoad();">
<script xlink:href="mylogic.js></script>
</svg>
私は.jsファイルを2回インクルードして以来、私はonSvgLoad()関数の中でnullとしてxmlDocを取得しています。私は、svgのhtmlからロードされたxmlDocの同じインスタンスを取得する方法があるはずだと信じています。しかし、私はそれを取得していない..?
代わりに、svgに.jsファイルを含めないようにしましたが、代わりにonload = "window.top.onSvgLoad();にonloadを変更しようとしました。 ; onload = "window.parent.onSvgLoad();"とする。まだ動作しませんでした! * IE9をHtml5のネイティブサポートで使用しています。
@RoberSmith、私はIE9で試しましたが、動作しません! –
IE9で私のために働きます –
mmm ...これは、IE9標準のdocモードでのみ動作し、Quirksモードでは機能しません! :( –