Pergunta

Objective-C, Webview

Olá, Estou tentando mudar o innerHTML de um elemnent DOM em um DOMDocument:

DOMDocument * MYDOM = [[storyDisplay mainFrame] DOMDocument];
DOMElement * título = [MYDOM getElementById: @ "título"]; [Dirigindo setNodeValue: @ "hejsa"];

Nada parece mudar quando as linhas acima são executadas, é este o caminho certo para editar o atributo innerHTML?

Obrigado, Mads Hartmann Jensen

Foi útil?

Solução

Por que não usar o -setInnerHTML: método

Outras dicas

Eu descobri que uma maneira de conseguir isso era usar o Javascript para brincar com o DOM:

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

Este pedaço de código obtém o ambiente de script do webview e executa uma função javascript com o nome 'replaceHeader' com e variedade de argumento (no meu caso apenas uma string).

Esta exigem que você tenha uma função javascript com esse nome, parte do meu HTML aparência de documentos como este:

<h1 id="heading">Welcome to Cookie</h1>
<script type="text/javascript">
function repleaceHeader(header) { 
    var heading = document.getElementById("heading"); 
    heading.innerHTML = header; 
}       
</script>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top