سؤال

الهدف - ج، WebView

مرحبا، أحاول تغيير innerhtml من مؤشر دوم في Domdocument:

Domdocument * Mydom = [[StoryDisPlay Mainframe] Domdocument]؛
DomeLement * العنوان = [mydom getelementbyid: @ "العنوان"]؛ [العنوان setnodevalue: @ "الحجسا"]؛

لا شيء يبدو أنه يتغير عندما يتم تنفيذ الأسطر المذكورة أعلاه، هل هذه هي الطريقة الصحيحة لتحرير سمة innerhtml؟

شكرا، غارت هارتمان جينسن

هل كانت مفيدة؟

المحلول

لماذا لا تستخدم فقط -setinnerhtml: الطريقة؟

نصائح أخرى

اكتشفت أن طريقة واحدة لتحقيق ذلك كانت لاستخدام JavaScript للعب مع DOM:

id *scriptObject= [storyDisplay windowScriptObject]; 
[scriptObject callWebScriptMethod:@"repleaceHeader" withArguments:[[NSArray alloc] initWithObjects:@"Whatever you want the header to be"]];

يحصل هذا القليل من التعليمات البرمجية على بيئة البرمجة النصية من WebView وينفذ وظيفة JavaScript بواسطة الاسم "ReplaceHeader" مع و مجموعة الوسيطة (في حالتي فقط سلسلة).

هذا يتطلب أن يكون لديك وظيفة JavaScript مع هذا الاسم، فإن جزء من مستند HTML الخاص بي يبدو وكأنه هذا:

<h1 id="heading">Welcome to Cookie</h1>
<script type="text/javascript">
function repleaceHeader(header) { 
    var heading = document.getElementById("heading"); 
    heading.innerHTML = header; 
}       
</script>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top