2011-07-13 6 views
5

मुझे पता है कि कई समान प्रश्न हैं, लेकिन मैंने अपनी विशिष्ट आवश्यकता का उत्तर नहीं देखा है: क्या अलग-अलग लॉन्च किए गए वेब पेज में बटन क्लिक करने का कोई तरीका है?प्रोग्रामेटिक रूप से किसी अन्य वेब पेज में इनपुट बटन पर क्लिक करें?

  • <a href="x" target="y"> या
  • window.open()

मैं तो उस का शुभारंभ वेब पेज को प्रोग्राम के में एक इनपुट बटन पर क्लिक करें सकता है: उदाहरण के लिए, मैं के माध्यम से दूसरे वेब पृष्ठ लॉन्च?

+0

ऐसा करने का उद्देश्य क्या है? –

उत्तर

0

आप किसी भी तत्व पर क्लिक कर सकते हैं जिसे आप चुन सकते हैं।

आप केवल उन विंडो में तत्वों का चयन कर सकते हैं जिनके पास आपके पास सुरक्षा निजीकरण है।

आपके पास अपनी खुद की विंडो के अधिकार हैं, और उसी डोमेन के भीतर विंडोज़ के अधिकार & सुरक्षा हैं।

तत्व तक पहुंचने के लिए आप विंडो वस्तु है, जो से window.open

var newWin = window.open(siteYouHaveAccessTo); 
newWin.document.getElementById('foo').click(); 

दिया जाता है आप www.google.com पर Search बटन पर क्लिक करने के लिए, आप एसओएल रहे प्रयास कर रहे हैं की आवश्यकता होगी।

+0

कुछ विशिष्टताएं हैं जिनसे मैं गुम हो रहा हूं, जहां तक ​​आप जिन डोमेन तक पहुंच सकते हैं। मुझे पता है कि 'http' बनाम' https' एक फर्क पड़ता है, मुझे याद नहीं है कि उप-डोमेन और/या निर्देशिकाओं के साथ कोई समस्या है या नहीं। – zzzzBov

2

जब तक कि पृष्ठ आपके नियंत्रण के नीचे न हो या एक ही डोमेन पर रहता है तो नहीं, यह संभव नहीं है। यह क्रॉस-साइट स्क्रिप्टिंग होगा और ऐसा कुछ होने के लिए ऐसा कुछ रखने के लिए सभी ब्राउज़रों में सुरक्षा सैंडबॉक्स होंगे। आप प्रोग्राम पर एक बटन पर प्रोग्राम करने की कोशिश क्यों कर रहे हैं जिसे आप प्रोग्रामेटिक रूप से खोल रहे हैं?

2

हां। जब आप खिड़की करते हैं। खोलें तो यह आपको एक विंडो ऑब्जेक्ट वापस कर देगा। वर जीत = window.open(); win.fnSubmit(); मानते हैं कि fnSubmit दूसरे पृष्ठ पर फ़ंक्शन है जो .clicking करेगा। और एक ही डोमेन पर दोनों pqges।

0

सर्वेक्षण कहता है ... शायद। यदि आपने अपना होमवर्क किया है, तो आप शायद उसी सबडोमेन के भीतर संचार प्राप्त करने में सक्षम होंगे। यह वहां से प्रगतिशील रूप से अधिक कठिन हो जाता है - मेरे पास दो विंडो (या iframes) के बीच जावास्क्रिप्ट को छेड़छाड़ करने के लिए लगातार क्रॉस-ब्राउज़र उप-डोमेन समर्थन नहीं मिला है।

उसने कहा, यदि वे एक ही डोमेन हैं, तो यह इसमें उतरने की बात है। अगर मैं है:

  • विंडो एक खोलता है विंडो बी
  • विंडो बी वाणी var winBVar
  • विंडो एक के बाद winBVar उपयोग करने में सक्षम है, और के बाद ही, कि चर घोषित किया जाता है (के रूप में, आप अभी भी करने की जरूरत है document.onload, आदि के लिए प्रतीक्षा करें)
1

यह कुछ हैकिंग इंजेक्शन हमलों द्वारा उपयोग की जाने वाली तकनीक है। असल में आप क्वेरीस्ट्रिंग में जावास्क्रिप्ट इंजेक्ट कर सकते हैं जो स्वयं को डोम से जोड़ सकता है, एक छवि या एसएफएफ फ़ाइल स्रोत बदल सकता है या पेज लोड होने पर बस चला सकता है; example here और example here

या यदि आप पहले से ही दूसरे पृष्ठ की संरचना को जानते हैं तो आप सीधे विधियों या वस्तुओं को लक्षित कर सकते हैं।

लेकिन चूंकि ये अच्छी चीजें नहीं हैं, मुझे लगता है कि आपके पास अच्छे कारण हैं कि आप प्राप्त पृष्ठ पर कोड को क्यों नहीं छू सकते हैं लेकिन इसके व्यवहार को समायोजित करना चाहते हैं?