के बावजूद आईई में छुपा पाठ का चयन किया जा सकता है यह एक आईई-विशिष्ट 'फीचर' प्रतीत होता है। मैंने IE8 का उपयोग करके परीक्षण किया। उपयोगकर्ता आईई 6 और आईई 7 में पुष्टि करके योगदान दे रहा है।स्टाइल = 'डिस्प्ले: कोई भी'
मैं कुछ पाठ कि मेरे पेज में और तत्व की रचना की शुरुआत यह है style = "display: none;"
मैं jQuery का उपयोग नहीं पाठ छिपाने के लिए और पाठ नहीं 'दिखा' है से बनाया जाता है। हालांकि, आगे के प्रकटीकरण के लिए, मैं jQuery की .html()
विधि का उपयोग कर तत्व की सामग्री तक पहुंचता हूं।
हालांकि, यदि उपयोगकर्ता पास मेरा display:none
तत्व चुनता है और प्रतिलिपि बनाई गई प्रतिलिपि बनाता है, तो छुपा पाठ शामिल हो जाता है। जैसे कि यह सामान्य रूप से प्रदर्शित किया गया था।
मार्कअप इस तरह दिखता है:
...
<td align="left">
Text they should see
<div id="whateverButUnique" style="display:none;">Value I want hidden</div>
Some other text
</td>
यहाँ एक fiddle वह जगह है जहाँ मैं IE < 9.
का उपयोग करते समय यह इस विशेष आवेदन के लिए एक गंभीर चिंता का विषय नहीं है इस मुद्दे को दोबारा सकते हैं, यह पकड़ा मुझे ऑफ-गार्ड और मुझे आश्चर्य हुआ कि यह एक 'फीचर' है या अगर मैं कुछ गलत तरीके से कर रहा था।
other questions में से अधिकांश मैंने display:none
के बारे में देखा है जो उनके पोस्टर की सामग्री को दृश्यमान थे। दोबारा, मेरी सामग्री अनिवार्य रूप से अदृश्य चयनित, प्रतिलिपि बनाई गई और अंततः चिपका दी गई है।
क्या मैं इंटरनेट एक्सप्लोरर उपयोगकर्ताओं को प्रतिलिपि/चिपकाने से इस सामग्री को ढूंढने से रोक सकता हूं? मुझे एहसास है कि वे इसे डेवलपर टूल्स में देख सकते हैं और स्रोत देखकर देख सकते हैं।
अद्यतन: अन्य उपयोगकर्ताओं की टिप्पणियों के लिए धन्यवाद, मैं भी visibility:hidden
और z-index=-1
की शैली लागू की कोशिश की है। उपयोगकर्ता ने कई अन्य छुपा प्रयासों की कोशिश की है लेकिन आईई इस सुविधा को फिसलने की इजाजत देने के लिए अब तक दृढ़ है। सभी बेहतरीन सुझावों के लिए धन्यवाद!
अद्यतन:Heather Walters पूछने के लिए धन्यवाद; पृष्ठ पर उपयोग करने के लिए मुझे जो मूल्यों का उपयोग करने की आवश्यकता है, वे केवल सर्वर-साइड उपलब्ध हैं लेकिन मैं उन्हें का उपयोग पृष्ठ के बाद jQuery/AJAX के माध्यम से किसी बाहरी प्रोग्राम से अतिरिक्त प्रोसेसिंग का उपयोग करके लिंक उत्पन्न करने के लिए करता हूं। इसलिए मैं छिपे हुए मूल्यों के साथ पृष्ठ का निर्माण करता हूं लेकिन फिर उन छिपे हुए मूल्यों पर उनके साथ कुछ उपयोगी बनाने के लिए काम करता हूं।
एक बार जब मैं कुछ उपयोगी बनाने के लिए उनका उपयोग कर रहा हूं, हालांकि, अब मुझे एहसास हुआ कि मैं उन्हें jQuery के माध्यम से बाहर निकाल सकता हूं और अतिरिक्त प्रदर्शन हिट कर सकता हूं। निम्नलिखित कोड हर किसी के लिए यह पूरा होता है कि सक्षम जावास्क्रिप्ट गया है:
$("[id^=whateverButUnique]").html("");
संभावित पृष्ठ के तत्वों के सैकड़ों के साथ इस अतिरिक्त संसाधन आदर्श नहीं है।
vega, मुझे विश्वास नहीं है कि this solution मेरे लिए काम करेगा क्योंकि मुझे सर्वर की तरफ पेज और मेरी छिपी सामग्री बनाना है।वे सभी सर्वर-साइड लूप में संभावित रूप से सैकड़ों अन्य तत्वों के साथ निर्मित किए गए हैं, इसलिए मेरे पास या तो इसे बनाने के लिए विकल्प है जबकि सर्वर एक टेबल में सब कुछ बिछा रहा है (छुपा तत्व शामिल है) या दूसरी बार इसके माध्यम से लूप (दर्दनाक) और तत्वों को प्रदर्शित करने के लिए मजबूर करने का प्रयास करें: कहीं भी कहीं भी कम होने की संभावना नहीं है।
Ohgodwhy, मैं आपके समाधान में विश्वास करना चाहता था। आईई 8 में, छुपा क्षेत्र नोटपैड में दिखाई नहीं दिया; हालांकि, मैं अनुभाग की प्रतिलिपि बनाने और इसे माइक्रोसॉफ्ट वर्ड में पेस्ट करने में सक्षम था। यह अब छुपा नहीं था।
काम पर एक और कारक: यह पृष्ठ पहले से ही बहुत ही जावास्क्रिप्ट भारी है इसलिए मुझे उम्मीद थी कि मुझे एक समाधान मिल सकता है जो आईई को 100+ संभावित तत्वों के माध्यम से एक और पास जोड़ने के बिना मूल्यों को देखने से रोक देगा ... लेकिन मेरे पास अभी हो सकता है सेवा मेरे।
अद्यतन: Robin Maben के सुझाव लगता है कि उस महान वैकल्पिक हल हो जाएगा! उनका सुझाव data-x
कस्टम एचटीएमएल 5 विशेषता में मूल्यों को छिपाना है। यह मेरे (सबसे अधिक संभावना) गैर एचटीएमएल 5 अनुपालन पृष्ठ के बावजूद काम कर रहा प्रतीत होता है। अगर आप इसे एक महत्वपूर्ण योगदान भी मानते हैं तो कृपया उसका उत्तर दें।
अद्यतन: पुष्टि की गई। मैंने मैबेन के सुझाव को सफलतापूर्वक कार्यान्वित किया है और इसलिए मेरे पृष्ठ पर प्रत्येक तत्व के लिए डीओएम लुक-अप की संख्या को कम करने में सक्षम हैं। मैं उन सभी वस्तुओं के साथ पहले से ही डीआईवी के माध्यम से लूपिंग कर रहा था जिन्हें मैं दिखाना चाहता था, और अब मैं एक ही समय में डेटा प्रॉपर्टी को स्वचालित रूप से एक्सेस कर सकता हूं। यह मेरा कार्यान्वयन में इस तरह दिखता है:
<div style="display:none" data-call-number="..." id="stackLocatorLinkFillUp...">...</div>
अंडाकार से संकेत मिलता है अद्वितीय करने के लिए मुझे आपरेशन चल रहा है। आईडी में एक साधारण संख्यात्मक संकेतक है जो प्रति रिकॉर्ड एक में वृद्धि करता है।
// Loop through all of the items on the page that start with my id
$("[id^=stackLocatorLinkFillUp]").each(function() {
// ...
// Grab the contents of the div
var innerContent = $(this).html();
// Extract the call number out of the data-call-number field
var callNumPreEncoded = $(this).data("callNumber");
// ...eventually...
$(this).html(...).css("display","block");
});
सभी को धन्यवाद!
मुझे याद है कि तत्वों को छिपाने की कोशिश कर रहे आईई-विशिष्ट समस्याएं हैं। क्या आपने "दृश्यता: छुपा" का उपयोग करने की कोशिश की है? – McGarnagle
मैं आईई 6, आईई 7 और आईई 8 के लिए इस व्यवहार को पुन: उत्पन्न कर सकता हूं। IE9 व्यवहार करेगा जैसा कि आप उम्मीद करेंगे (उम्मीद है)। मुझे लगता है कि वे सिर्फ दस्तावेज़ में एक सामान्य तत्व के रूप में इसका इलाज कर रहे हैं जो इसे कॉपी करने की अनुमति देता है। मुझे पता नहीं है कि इसके आसपास कोई रास्ता है या नहीं। मैंने तत्व ऑफ-स्क्रीन को पोजीशन करने की कोशिश की लेकिन उसने कुछ भी नहीं बदला। अगर कोई काम के आसपास जानता है तो दिलचस्प होगा। –
धन्यवाद @dbaseman; अब तक मैंने कोशिश की है, प्रदर्शित करें: कोई नहीं, दृश्यता: छुपा, और जेड-इंडेक्स = -1 लेकिन टेक्स्ट अभी भी बफर में कॉपी हो सकता है। @ जॉन एच, आपकी पुष्टि के लिए धन्यवाद। यह दिलचस्प होगा! – veeTrain