थोड़ी देर, लेकिन अगर आप में से कोई भी एक पृष्ठभूमि के रूप में इनलाइन एसवीजी का उपयोग करने की कोशिश में पागल हो रहा है , तो ऊपर दिए गए पलायन सुझाव काफी काम नहीं करते हैं। एक के लिए, यह IE में काम नहीं करता है, और आपके एसवीजी की सामग्री के आधार पर तकनीक एफएफ जैसे अन्य ब्राउज़रों में परेशानी का कारण होगी।
यदि आप x64 को svg (संपूर्ण url नहीं, सिर्फ svg टैग और उसकी सामग्री!) को एन्कोड करते हैं, तो यह सभी ब्राउज़रों में काम करता है। यहाँ base64 में वही jsfiddle उदाहरण है: http://jsfiddle.net/vPA9z/3/
CSS अब इस तरह दिखता है:
body { background-image:
url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMCcgaGVpZ2h0PScxMCc+PGxpbmVhckdyYWRpZW50IGlkPSdncmFkaWVudCc+PHN0b3Agb2Zmc2V0PScxMCUnIHN0b3AtY29sb3I9JyNGMDAnLz48c3RvcCBvZmZzZXQ9JzkwJScgc3RvcC1jb2xvcj0nI2ZjYycvPiA8L2xpbmVhckdyYWRpZW50PjxyZWN0IGZpbGw9J3VybCgjZ3JhZGllbnQpJyB4PScwJyB5PScwJyB3aWR0aD0nMTAwJScgaGVpZ2h0PScxMDAlJy8+PC9zdmc+");
Base64 में कनवर्ट करने से पहले भागने वाले किसी भी URL को निकालना याद रखें। दूसरे शब्दों में, उपरोक्त उदाहरण ने रंग = '# fcc' को रंग में परिवर्तित कर दिया = '% 23fcc', आपको # पर वापस जाना चाहिए।
Base64 बेहतर काम करने का कारण यह है कि यह एकल और दोहरे उद्धरण चिह्नों और url से बचने के सभी मुद्दों को समाप्त करता है
यदि आप JS का उपयोग कर रहे हैं, तो आप window.btoa()
अपने base64 svg का उत्पादन करने के लिए उपयोग कर सकते हैं ; और अगर यह काम नहीं करता है (यह स्ट्रिंग में अमान्य वर्णों के बारे में शिकायत कर सकता है), तो आप बस https://www.base64encode.org/ का उपयोग कर सकते हैं ।
डिव बैकग्राउंड सेट करने के लिए उदाहरण:
var mySVG = "<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'><linearGradient id='gradient'><stop offset='10%' stop-color='#F00'/><stop offset='90%' stop-color='#fcc'/> </linearGradient><rect fill='url(#gradient)' x='0' y='0' width='100%' height='100%'/></svg>";
var mySVG64 = window.btoa(mySVG);
document.getElementById('myDiv').style.backgroundImage = "url('data:image/svg+xml;base64," + mySVG64 + "')";
html, body, #myDiv {
width: 100%;
height: 100%;
margin: 0;
}
<div id="myDiv"></div>
जेएस के साथ आप मक्खी पर एसवीजी उत्पन्न कर सकते हैं, यहां तक कि इसके मापदंडों को भी बदल सकते हैं।
SVG का उपयोग करने पर बेहतर लेखों में से एक यहाँ है: http://dbushell.com/2013/02/04/a-primer-to-front-end-svg-hacking/
उम्मीद है की यह मदद करेगा
माइक