代码: 全选
<object id="ejmondouter" data="ee.svg" type="image/svg+xml" width="auto" height="auto">object</object>
代码: 全选
var ejmond = document.getElementById("ejmondouter");
ejmond.onload = function () {
console.log('(this.contentDocument)', this.contentDocument);
};
但是,如果我把ee.svg轉成base64,填入data,則無法通過上述方法拿到ee.svg的內容:
代码: 全选
<object id="ejmondouter" data="data:image/svg+xml;base64,PHN2ZyBpZD0iZWptb25kIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjQ4MHB4IiBoZWlnaHQ9IjQ4MHB4IiBzdHlsZT0ibWF4LXdpZHRoOiAxMDAlOyI+PC9zdmc+Cg==" type="image/svg+xml" width="auto" height="auto">object</object>
代码: 全选
<svg id="ejmond" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" width="480px" height="480px" style="max-width: 100%;"/>
現在就想知道,為何data是base64之後,就取不到它的contentDocument,以及如何能夠取到。(在用瀏覽器查看html結構的時候,仍能見到它的svg內容,說明應該是有辦法取到的)