मेरे पास एक जटिल Jquery-UI आधारित संवाद है और मैं पृष्ठभूमि के रूप में एक एसवीजी छवि प्रदान करना चाहता हूं। मैंने इस काम को पहले एक साधारण परीक्षण फ़ाइल में बनाने की कोशिश की और यह काम नहीं करता है, हालांकि एक स्टैंडअलोन छवि के रूप में एसवीजी ठीक काम करता है। यहाँ सरल कोड है:एसवीजी एक div की इनलाइन पृष्ठभूमि छवि के रूप में काम नहीं कर रहा है
<script>
$(document).ready(function() {
svg = "<svg width='400' height='400' fill='url(#grad1)' \
xmlns='http://www.w3.org/2000/svg'> <rect id='bkgrect' width='400' \
height='400' style='fill:'url(#grad1)'; stroke-width:3;'/> <defs>\
<linearGradient id='grad1' x1='0' y1='20%' x2='0%' y2='100%'> \
<stop id='stop1' offset='0%' stop-color='blue'/> <stop offset='100%' \
stop-color='white'/> </linearGradient> </defs> </svg>";
svgBase64 = btoa(svg);
bkgrndImg = "url('data:image/svg+xml;base64,"+ svgBase64 +"')";
$('#testDiv').css('background-image', bkgrndImg);
});
</script>
</head>
<body>
<div id='testDiv' style="border:2px solid red;width:400px;height:400px;
position:absolute;left:100px;top:100px;"> Some SVG Div </div>
<svg ... /svg>
svg .../svg ही svg के रूप में पृष्ठभूमि में प्रयोग किया जाता है और इसे ठीक से प्रदर्शित करता है।
विभिन्न समाधानों को देखने के बाद, मैंने मुख्य रूप से this पोस्ट पर भरोसा किया है। मैंने जेड-इंडेक्स का उपयोग कर पृष्ठभूमि एसवीजी छवि को अनुकरण करने और एक छवि के रूप में छवि में स्थिति को पोजिशन करने का भी प्रयास किया लेकिन यह एक अच्छा फिक्स नहीं है। मैं एसवीजी को पृष्ठभूमि छवि के रूप में आसानी से काम करने के लिए पृष्ठभूमि छवि के रूप में प्राप्त करना चाहता हूं क्योंकि कम से कम एसवीजी ग्रेडियेंट सभी आधुनिक ब्राउज़रों में अच्छी तरह से समर्थित हैं और मुझे लगता है कि एसवीजी की पूरी तरह से एहसास होने की संभावना आखिरकार आ गई है।
क्या आपको इसे बेस 64 के रूप में रखना है? क्या आप केवल सामान्य छवि की तरह svg से लिंक नहीं कर सकते? 'पृष्ठभूमि: url (../ images/fancy.svg) 'यदि svg गतिशील नहीं है तो मुझे सामान्य फ़ाइल के रूप में बनाए रखना आसान लगता है। – Lex
@Lex मैं इसे इनलाइन करना चाहता हूं ताकि मैं इसे जेएस के साथ गतिशील रूप से बदल सकूं। – Sam
आपके द्वारा उल्लिखित पोस्ट से बचने के लिए कहा जा रहा है # जो आपने नहीं देखा # # के साथ प्रतिस्थापित # 23। – uzma