GMOT
Nieuws:
 
*
Welkom, Gast. Alsjeblieft inloggen of registreren. 19 Mei 2019, 16:24:26


Login met gebruikersnaam, wachtwoord en sessielengte


Pagina's: [1]
  Print  
Advertenties


StefannafetS
Approaching infinity
********

Berichten: 9.597



Bekijk profiel
« Gepost op: 05 Februari 2016, 22:05:04 »

Hallo iedereen,

ik ben nu een tijdje bezig met een volledig vernieuwde windows 10 (mobile) applicatie. Ik kom nu bij een raar probleem die ik zo 1 2 3 niet kan oplossen.
Ik injecteer javascript in de webview waar de mobiele versie van gmot is geladen. Ik voer deze functie uit nadat de DOM is geladen. Hiermee wil ik de settings (onderin) en uitlog knop weghalen. Het weghalen van de settings werkt maar het weghalen van de uitlog knop niet.
Code:
private async void updatePageDOM()
{
if (true) // TODO: Read setting data
{
string script = "var settings = document.getElementById('settings'); if( typeof settings != 'undefined' ) {settings.remove();}";
string[] arg = { script };
string x = await browser.InvokeScriptAsync("eval", arg);
}
if (true) // TODO: Read setting data
{
string script = "var navigation = document.getElementById('boardIndexNavigator'); if( typeof navigation != 'undefined' ) {navigation.childNodes[0].remove();}";
string[] arg = { script };
string x = await browser.InvokeScriptAsync("eval", arg);
}
}

Als ik onderstaande javascript in edge uitvoer doet hij niks. Als ik daarna dezelfde code nogmaals uitvoer haalt hij hem wel weg. Dit lijkt mij geen normal behavior.
Code:
var navigation = document.getElementById('boardIndexNavigator'); if( typeof navigation != 'undefined' ) {navigation.childNodes[0].remove();}

Ziet iemand wat ik fout gedaan zou kunnen hebben?
Alvast bedankt
« Laatste verandering: 05 Februari 2016, 23:12:44 door StefannafetS » Gelogd

ericlegomeer
King of the hill
******

Berichten: 1.663


http://xkcd.com/386/


Bekijk profiel
« Antwoord #1 Gepost op: 05 Februari 2016, 22:40:05 »

Kijk eens naar het type van childNodes[0]. Dat is een #text node, dus die verwijder je bij het de eerste keer uitvoeren van het script. Bij de tweede keer uitvoeren is de <a> node (uitloglinkje) naar voren geschoven (naar positie 0) en dan verwijder je deze wel correct.

Je kunt dus óf gelijk childNodes[1] verwijderen (lelijke optie). Of je kunt zoeken naar het eerste kind wat een anchor is (iets nettere oplossing).
Gelogd



StefannafetS
Approaching infinity
********

Berichten: 9.597



Bekijk profiel
« Antwoord #2 Gepost op: 05 Februari 2016, 23:06:02 »

Kijk eens naar het type van childNodes[0]. Dat is een #text node, dus die verwijder je bij het de eerste keer uitvoeren van het script. Bij de tweede keer uitvoeren is de <a> node (uitloglinkje) naar voren geschoven (naar positie 0) en dan verwijder je deze wel correct.

Je kunt dus óf gelijk childNodes[1] verwijderen (lelijke optie). Of je kunt zoeken naar het eerste kind wat een anchor is (iets nettere oplossing).
Ah, natuurlijk bedankt voor de snelle oplossing Cheesy
Gelogd

Maarten
Approaching infinity
********

Berichten: 8.274



Bekijk profiel
« Antwoord #3 Gepost op: 06 Februari 2016, 11:50:42 »

Zeg het maar als je een betatester nodig hebt XD
Gelogd

StefannafetS
Approaching infinity
********

Berichten: 9.597



Bekijk profiel
« Antwoord #4 Gepost op: 06 Februari 2016, 12:22:00 »

Zeg het maar als je een betatester nodig hebt XD
zal ik doen
Gelogd


Advertenties
Pagina's: [1]
  Print  

 
Ga naar:  

Powered by SMF 1.1.21 | SMF © 2006-2011, Simple Machines | Smartphoneversie bekijken

Dilber MC Theme by HarzeM