我有一個名爲index.html的HTML文件,其中包含了一個svg(使用object-tag)和一個js文件(使用腳本標籤)。在HTML文件中調用時,js函數都可以很好地工作。 現在,當我想訪問我的svg文件中的一個js函數時,我必須鏈接到我的svg文件中的js文件(使用xlink)。這些函數在svg文件中仍然有效,但是一旦這些函數引用HTML文件中的任何元素(例如document.getElementById('div1')),它們就不再工作了(我的猜測:可能是因爲函數不能尋找HTML內部的元素,但在SVG文件內) 我能做些什麼來使這些功能再次起作用?SVG和帶外部Javascript文件的HTML
1
A
回答
1
您可以使用頂級或父級對象從svg獲取到容器html。有一個完整的svg to container html and container html to svg example with extensive comments here。
0
當您將一個JS函數嵌入到SVG中時,它們總是在SVG的私有範圍內執行,因此無法訪問它以外的任何內容。
當你想創建一個帶有動態SVG的交互式Web應用程序時,你應該把JS函數修改成HTML代碼中的JavaScript代碼。您可以通過獲取<object>
元素的.contentDocument
來從嵌入HTML的JavaScript訪問SVG文檔樹。
+0
使用
1
在現代瀏覽器中,您可以直接將svg直接放置在HTML中,並且JS(和CSS)可以在兩者上無縫工作。
<div>
<svg:svg xmlns:svg="www.w3.org/2000/svg" version="1.1" height="100" width="100" viewBox="0 0 100 100">
<svg:circle id="circle" cx="50" x="50" y="50"/>
</svg:svg>
</div>
<script>
document.getElementById("circle").style.fill="red";
</script>
相關問題
- 1. 加載外部SVG文件
- 2. SVG填充外部文件
- 3. 的JavaScript的HTML調用外部文件
- 4. 如何加載外部JavaScript文件中的SVG文件
- 5. Javascript和CSS,內部HTML與外部文件中的對比
- 6. JavaScript,SVG,HTML和CSS
- 7. 觸發HTML級與外部JavaScript文件
- 8. 將外部JavaScript文件鏈接到HTML
- 9. HTML不讀取外部JavaScript文件
- 10. 外部Javascript文件到HTML頁面
- 11. HTML - 連接外部Javascript文件
- 12. 使用Javascript打印外部HTML文件
- 13. HTML文檔內改變的Javascript到外部的Javascript文件
- 14. HTML和HTML中的JavaScript和SVG
- 15. 將包含外部javascript文件的外部html文件加載到div
- 16. 外部JavaScript文件
- 17. Javascript外部文件
- 18. 加載外部SVG文件到變量並附加到html
- 19. 從主html腳本中調用SVG的外部JavaScript函數?
- 20. 外部Javascript文件如何影響HTML文件的DOM?
- 21. svgjs - 加載外部SVG文件
- 22. JavaScript的外部intellisense文件?
- 23. SVG和外部樣式表
- 24. html和Svg to Canvas javascript
- 25. 結合SVG,HTML和Javascript
- 26. 把jQuery和JavaScript插入外部文件
- 27. 加載外部HTML文件
- 28. 加載外部SVG並將JavaScript包含到HTML中
- 29. 如何調用存儲在外部JavaScript文件從HTML文件
- 30. 如何將外部javascript文件放入我的html文檔?
相似問題:http://stackoverflow.com/questions/14274252/combining-svg-html-and-javascript。 –