Benamkan dokumen kandungan SVG merentas domain menggunakan teg objek
P粉393030917
P粉393030917 2023-10-31 18:04:21
0
1
681

Adakah "sah" mempunyai SVG yang mengandungi data daripada domain luaran, iaitu (data="//da86ge957603k.cloudfront.net/rails/grafitti_logo-f4e8238a87c979c0cf5b41481c982b71.svg dan kemudiannya ke objek dan") kemudian lulus atribut contentdocument Akses SVG DOM objek ini? Saya boleh melakukan ini apabila SVG berada pada domain tempatan, tetapi apabila saya cuba untuk mengehoskan SVG di tempat lain, saya mendapat ralat "this.contentDocument is empty". Saya juga telah mencuba getSVGDocument() . Saya tidak dapat mencari di mana-mana yang mengatakan ini adalah isu keselamatan silang asal, dan setakat yang saya tahu ini harus dibenarkan untuk teg objek yang digunakan dalam SVG (saya tidak menggunakan iFrame). Saya menghargai anda meluangkan masa untuk membantu saya. Di bawah ialah kod yang saya gunakan untuk membenamkan objek dan mengikat dan cuba mengakses DOM (seperti yang saya katakan, ini berfungsi apabila SVG berada dalam domain tempatan).

">Gangster $("#gangstergraffiti").each(function() { this.addEventLi stener('load', svgGangsterGraffitiReady, false); }); function svgGangsterGraffitiReady(){ var graffitistrokes = this.contentDocument.getElementsByClassName('graffiti'); for (var i = 0; i < graffitistrokes.length; i++) { graffitistrokes[i].setAttribute("stroke", "white"); graffitistrokes[i].setAttribute("fill", "white"); } }


P粉393030917
P粉393030917

membalas semua (1)
P粉466643318

w3c mendokumentasikan ini. Ketahui lebih lanjut tentang teg objekdi siniAnda tidak boleh mengaksesdata teg merentas domain kecuali melalui CORS.

Terdapatpemurnian yang lebih mudah dibaca padaMDNUntuk membetulkannya, anda perludayakan CORS

di tapak terpencil (jika boleh).
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan
    Tentang kita Penafian Sitemap
    Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!