एक बुकमार्क जोड़ें जो केवल जावास्क्रिप्ट है, न कि यूआरएल

मैं सोच रहा हूं कि कारण मैं ऐसा नहीं कर सकता क्योंकि यह एक बड़ा सुरक्षा छेद हो सकता है, लेकिन यहां जाता है ...

मैं अपने ब्राउज़र पर एक बुकमार्क करना चाहता हूं (एफएफ 3, अधिमानतः) जो जावास्क्रिप्ट कोड का एक स्निपेट है। यह केवल वर्तमान दिनांक के आधार पर एक यूआरएल तैयार करेगा और फिर उस यूआरएल पर window.location = करेगा।

मुझे पता है कि मैं एक पेज बना सकता हूं और इसे अपनी स्थानीय मशीन पर रख सकता हूं और बस इसे इस तरह से संदर्भित करता हूं, लेकिन मैं बस सोच रहा था कि क्या आप उस चरण को बाईपास कर सकते हैं और वास्तव में बुकमार्क का "स्थान" वास्तव में जावास्क्रिप्ट हो सकता है। मैं शपथ ले सकता था कि यह साल पहले संभव था, लेकिन मुझे कुछ भी नहीं मिला जो मुझे किसी भी तरह से बताता है।

0
ro fr bn

4 उत्तर

खैर, मैंने अभी एफएफ 3 में एक बुकमार्क बनाया है, वापस चला गया है और इसे अपडेट किया है और निम्न परीक्षण जोड़ा है:

javascript:alert('Wacky%20test%20yo');

कम और देखो, मैंने बचाया और लोड करने के बाद, मैं अपनी चेतावनी प्राप्त करने में सक्षम था।

मुझे यकीन है कि आप अपनी जरूरतों के लिए कुछ समान काम कर सकते हैं।

0
जोड़ा

आप जो चाहते हैं वह एक बुकमार्कमार्क है जिसे वे बनाना चाहते हैं और अधिकांश प्रमुख ब्राउज़रों में काम करना चाहिए।

संपादित करें: स्टैक ओवरफ़्लो साइट के संदर्भ में बुकमार्कलेट बनाने की अनुमति नहीं देता है, मूल रूप से आप एक नया बुकमार्क बना सकते हैं और स्थान फ़ील्ड में निम्न टाइप कर सकते हैं

javascript:window.location='http://www.google.com/search?q='+Date()

एक बुकमार्कलेट प्राप्त करने के लिए जो वर्तमान तारीख के लिए Google की खोज करता है।

0
जोड़ा

एक मामूली पकड़ आईई केवल इस प्रारूप में 508 वर्ण URL को संभाल सकता है। यदि आप इसे आईई में लंबे समय से यूआरएल से सहेजते हैं, तो यह बिना किसी चेतावनी के छंटनी करेगा और इस प्रकार असफल हो जाएगा।

यदि आपको वास्तव में जटिल स्क्रिप्ट की आवश्यकता है, तो आपको "होस्टेड" बुकमार्लेट का उपयोग करना होगा, जहां आपके पास एक छोटा बुकमार्क है जो पृष्ठ पर एक स्क्रिप्ट टैग इंजेक्ट करता है, ताकि आपके होस्ट किए गए बुकमार्कलेट को "कॉल" किया जा सके।

यह उतना अच्छा/पोर्टेबल नहीं है, लेकिन यह एकमात्र कामकाज है।

0
जोड़ा
सही बात। आपको बस किसी अन्य साइट से इच्छित स्क्रिप्ट सामग्री लोड करने की आवश्यकता है।
जोड़ा लेखक scunliffe, स्रोत
तो इसके लिए पैटर्न कुछ ऐसा है: जावास्क्रिप्ट: (फ़ंक्शन() {document.body.appendChild (document.cr और zwnj; eateElement ('script' और zwnj;)) src = ' yoursite.com और zwnj; /js/bookmarklet.js&#‌ 39 ;;}) ();
जोड़ा लेखक Shermozle, स्रोत

यह ध्यान देने योग्य है कि आप इसे फ़ंक्शन रैपर में भी डाल सकते हैं। इमरानमाजीद ने अच्छी तरह से यह बताया कि हमारे लिए ... लेकिन स्पष्ट रूप से मैं अपनी पोस्ट के लिए साइट पर बहुत नया हूं। : पी

तो स्पष्टता के लिए:

javascript:(function(){
  location.href = location.href + "#";
})();

(कैरिज रिटर्न क्रोम और आईई में प्रदर्शन को प्रभावित नहीं करता है)

0
जोड़ा
हां, इसे किसी फ़ंक्शन में लपेटने से वापसी मूल्य वर्तमान विंडो के साथ गड़बड़ से रोकता है।
जोड़ा लेखक mb21, स्रोत