2009-11-23 14 views
7

यह वही प्रश्न है जो THIS ONE है, मैं अब इसका उत्तर नहीं दे सकता, इसलिए मैं इसे अपने खाते से पुनः पोस्ट कर रहा हूं।
गड़बड़ के लिए खेद है।जावास्क्रिप्ट से कॉल href

मुझे एक Greasemonkey स्क्रिप्ट चाहिए कि पेज लोड पर 'जावास्क्रिप्ट: फंक्शन' जैसे एक href लिंक को सक्रिय करता है। मैं इस कोड को देखा है:

<script language="Javascript" type="text/javascript"> 
    function somescript() { 
      window.location.href = document.getElementById('ololo').href; 
    } 
</script> 

<a href="javascript:alert('test');" id="ololo">test</a> 
<br /> 

<a href="javascript:somescript()">click me</a> 

और, जबकि यह एक स्थानीय पृष्ठ पर काम करता है, तब भी जब ऑनलोड का उपयोग कर, यह जब मैं अपने लिपि में इसका इस्तेमाल करते हैं काम नहीं करता।

शायद एचटीएमएल पेज के शरीर से कोड को Greasemonkey स्क्रिप्ट में स्थानांतरित करते समय मुझे कुछ याद आ रहा है।

मुझे उम्मीद है कि इस बार सवाल अधिक स्पष्ट है, मुझे किसी भी गलतफहमी के लिए क्षमा करें, लेकिन मैं अभी भी जेएस के साथ शुरुआत कर रहा हूं।

+1

अपनी greasemonky स्क्रिप्ट पोस्ट करें – Yacoby

+1

स्क्रिप्ट यह अभी भी डब्ल्यूआईपी है, लेकिन मुझे जिस फ़ंक्शन की आवश्यकता है वह पहला है जो काम करना चाहिए, अन्यथा कुछ और नहीं होगा। इसे और अधिक स्पष्ट रखने के लिए: शेष स्क्रिप्ट इस फ़ंक्शन के साथ संघर्ष नहीं करती है। – Gurzo

+0

तो क्या आपको कोई त्रुटि मिलती है? – Yacoby

उत्तर

17

इस तरह यह हल काम करेगा:

window.location=document.getElementById('foo').href; 

किसी को भी उत्तर देने के लिए धन्यवाद।

+0

ग्रेट !! धन्यवाद। –

0

क्या यह आपके परिदृश्य के लिए काम करेगा?

<script type="text/javascript"> 
    function somescript() { 
    document.getElementById('ololo').click();//fake a click on the link 
    } 
</script> 
+2

यह फ़ायरफ़ॉक्स में काम नहीं करेगा। – SLaks

+0

यह काम नहीं करता है। क्या यह संभव है कि वेबसाइट इस तरह के कार्यों को रोकती है? – Gurzo

+0

आह, अच्छी तरह से ध्यान दिया गया ... यह काम करने के लिए प्रयुक्त होता है (और अभी भी आईई में करता है) – scunliffe

4
<script type="text/javascript"> 
    function somescript() { 
     eval(document.getElementById('ololo').getAttribute('href').replace('javascript:', '')); 
    } 
</script> 

मैं चेतावनी बॉक्स देख सकते हैं ..

कृपया ध्यान दें कि यह केवल तभी जब इसकी href विशेषता में जावास्क्रिप्ट कोड ...

+0

यदि आप नकली बनाना चाहते हैं तो इसके बजाय लिंक पर क्लिक करें, यहां एक उदाहरण है ... यह किसी तृतीय पक्ष लाइब्रेरी के बिना बहुत सारे काम की तरह लगता है: http://groups.google.com/group/comp.lang.javascript/ब्राउज_थ्रेड/थ्रेड/27e7c70e51ff8a99/98cea9cdf065a524% 2398cea9cdf065a524? pli = 1 –

संबंधित मुद्दे