2011-04-25 12 views
8

में वेबपृष्ठ का जावास्क्रिप्ट फ़ंक्शन कॉल करें सबसे पहले, मैं उद्देश्य-सी और कोको में एक पूर्ण नौसिखिया हूं। मुझे इससे संबंधित संसाधन मिल गए हैं, लेकिन कोई भी जो मैं चाहता हूं उसे दिखाता हूं, और मुझे लगता है कि दूसरों को मेरे लिए काम नहीं करना पड़ेगा। मुझे जो चाहिए वह वास्तव में एक बटन है जिसमें एक बटन और एक वेबव्यू वाला एक विंडो है जिसमें एक जावास्क्रिप्ट फ़ंक्शन वाला HTML पृष्ठ है जो एक पैरामीटर (एक स्ट्रिंग या कुछ) लेता है, और document.write के माध्यम से इसे थूकता है। (मुझे जावास्क्रिप्ट पता है)।कोको वेबव्यू

फिर जब आप वेबदृश्य के बाहर बटन क्लिक करते हैं, तो यह जावास्क्रिप्ट फ़ंक्शन को कॉल करेगा, और वेबव्यू document.write कॉल से कुछ कहेंगे। अगर कोई शायद इस तरह एक त्वरित उदाहरण डाल सकता है, तो मैं वास्तव में इसकी सराहना करता हूं!

धन्यवाद।

उत्तर

16

आप अपने वेब दृश्य में जावास्क्रिप्ट को कॉल करने के लिए stringByEvaluatingJavaScriptFromString: का उपयोग कर सकते हैं।

[ webView stringByEvaluatingJavaScriptFromString: @"myJavascriptFunction()" ]; 

इस रूप में पूरा एक उदाहरण के रूप में आप के लिए कहा है, लेकिन पूरी तरह से आवेदन उदाहरण कुछ हद तक क्या StackOverflow के लिए उपयुक्त है से परे है नहीं है।

+0

मेरे समस्या whe है क्या मैं 'webView' निर्दिष्ट करूं? मैं इंटरफेस बिल्डर में एक वेबव्यू जोड़ सकता हूं, लेकिन मैं इसे उस कोड से कैसे जोड़ूं? – penguinrob

+0

आईबीओटलेट्स (http://developer.apple.com/library/ios/#DOCUMENTATION/Cocoa/Conceptual/CocoaFundamentals/CommunicatingWithObjects/CommunicateWithObjects.html) का उपयोग करने का सबसे आम तरीका है। यदि यह आपके लिए नया है तो मुझे लगता है कि आपको कई कोको ट्यूटोरियल किताबों में से एक के माध्यम से काम करने से फायदा होगा जैसे मैक ओएसएक्स के लिए कोको प्रोग्रामिंग http://www.amazon.com/Cocoa-Programming-Mac-OS-3rd/dp/0321503619 –

0

आप इस प्रश्न पर मेरा उत्तर देखने के लिए प्रयास करना चाहिए - Displaying HTML in iPhone app

तो आप जावास्क्रिप्ट सिर्फ सामान्य html मानक के रूप में करके उन्हें अपने XCode प्रोजेक्ट की फाइल में जोड़ने का उपयोग कर सकते हैं।

2

प्राप्त करने के लिए काम कर रहे WebView द्वारा खोया दशक खेल इस भयानक ट्यूटोरियल देखें:

How to embed HTML5 into a native Mac OSX app

4

पिछले समाधानों में से कोई भी मेरे लिए काम नहीं करता है। हालांकि, मुझे this method in the Apple Developer documentation मिला जो मुझे सफलतापूर्वक मेरे वेब व्यू में जेएस कोड निष्पादित करने की अनुमति देता था।

यहाँ एक उदाहरण है कि XCode 4.6.1 में मेरे लिए काम किया है (ओएस एक्स 10.8.3):

[[webView windowScriptObject] evaluateWebScript:@"document.write('derp')"];

7

तुम सिर्फ एक जावास्क्रिप्ट समारोह कॉल करने के लिए चाहते हैं, तो इस तरह से करना है यह:

WebScriptObject *script = [_webView windowScriptObject]; 
[script callWebScriptMethod:@"jsFunctionWithText" withArguments:@[@"Some text"]]; 

अपने HTML पृष्ठ में आप की आवश्यकता होगी निम्नलिखित:

<script> 
function jsFunctionWithText(text) 
{ 
    document.write(text); 
} 
</script>