-
Fototrend
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Jim-Y
veterán
válasz
leximester #4028 üzenetére
És miért szórakozol C#-al ahelyett, hogy ki-chekcoutolnád a projektet, és amennyiben szabad, továbbfejlesztenéd magadnak az eddigi kódot? Főleg, hogy annyival nem tudod megoldani a fejlesztést, hogy meghívogatsz pár függvényt és kész. Vannak belső állapotai a függvényeknek amin az egész alkalmazás áll, vagy bukik. Azzal is törődni kell.
trisztan: nem az ő kódjában van az preventDefault.
-
Karma
félisten
válasz
leximester #4028 üzenetére
Mondjuk stringből Urit csinálni nem nagy kaland, ellenben ja, amit írtam a "javascript:" előtag nélkül az InvokeScripttel tényleg jobb.
-
trisztan94
őstag
válasz
leximester #4025 üzenetére
Csak halkan, mellékesen megjegyzem, hogy az event.preventDefault() _elvileg_ deprecated, event.defaultPrevented;-et kell használni (nincsenek zárójelek). Legalábbis a firebug nekem mindig ezért nyavalyog.
-
Karma
félisten
válasz
leximester #4025 üzenetére
Ja most látom, ez már túl lett lépve, bocsi
De azért nem törlöm ki.---
Az a helyzet, hogy a WP WebBrowser felől csak olyan JavaScript dolgokat tudsz meghívni, amik globálisan elérhetőek. A valami függvényed egy globális függvény, így kapásból elérhető; viszont a kérdéses InputManageres történet valószínűleg el van fedve az ilyen behívások elől.
Ez most hack, de például csinálhatnál az oldalad végénél egy globális példányt ebből, és azon meghívhatod a metódust.
<script type="text/javascript">
var globalInputManager = new KeyboardInputManager();
</script>És utána az appodban nyomsz egy ilyet:
webBrowser.Navigate("javascript:globalInputManager.restart()");
Akkor talán mennie kéne.
---
Na visszatérve az új problémára, az egyszerűbbik megoldás az inputmanager meghackelése lenne (ha az event undefined, akkor ne akarjon preventDefaultot hívni), illetve C# oldalon is lehet hákolni.
webBrowser.Navigate("javascript:globalInputManager.restart(document.createEvent('hack'))");
-
Jim-Y
veterán
válasz
leximester #4025 üzenetére
az event az egy click event lesz a restart gombon. Nálad azért undefined ,mert nyílván nem adtál meg a restart függvénynek egy click event objektumot mint bemenő paramétert.
Próbáld ki, hogy ott ahol restartot hívnál, ott írj egy
<keyboardInputManager>.emit("restart"); -ot. -
Sk8erPeter
nagyúr
válasz
leximester #4021 üzenetére
Pedig jó az, amit Jim-Y írt.
Én sem értem sajnos ennyiből, mi a gond, tényleg látni kéne a kódodat, hogy pontosan mi vérzik el, és hol.
De ha jól értem, valami olyasmi, hogy callback-ként szeretnéd meghívni a .restart() metódust, és az nem megy. Vagy nem erre gondoltál?szerk.:
(#4023) : ebből még mindig nem tudtuk meg, konkrétan, pontosan mi a baj, hol hasal el a dolog, és hogyan csináltad C#-ban, hogyan JavaScriptben.
Ha a C#-kódban van a gond: C# programozás topic. -
Jim-Y
veterán
válasz
leximester #4021 üzenetére
Igazabol egyszerubb lenne ha bemasolnad az eredeti kodot. Meg ha leirnad hogy mit szeretnel elerni es hogyan, az sem lenne utolso szempont :-)
-
Jim-Y
veterán
válasz
leximester #4019 üzenetére
Ha van egy InputManager objektumod, akkor azon a restart metódust meghívva tudod elérni ezt a függvényt.
Magyarázat:
Tehát javascriptben ha egy tömbön meghívsz egy pl indexOf() metódust ( [1,2,3].indexOf(3); ), az így lett implementálva:Array.prototype.indexOf = function(elem) { ... }
megj: a [] egy shorthand a var arr = new Array(); -re.
Megoldás:
Kell egy InputManager objektum:var inputManagerObject = new InputManager();
majd
inputManagerObject.restart(); // alert teszt
Hogy hogyan delegálj egy ilyen objektumot C#-ba abban nem tudok segíteni, nézz utána
Új hozzászólás Aktív témák
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- iPhone topik
- Hobby elektronika
- Így nézz tévét 2025-ben: új ajánlások, régi szabályok
- Samsung Galaxy Felhasználók OFF topicja
- Milyen TV-t vegyek?
- A GravaStar analóg klaviatúráira nem mondható, hogy konformisták volnának
- Formula-1
- Milyen légkondit a lakásba?
- További aktív témák...
- LG 65C4 - 65" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - 1000 Nits
- Csere-Beszámítás! RTX Gamer Számítógép PC Játékra! I5 12400F / RTX 3070 / 32GB DDR4 / 1TB SSD
- Hp USB-C/Thunderbolt 3 dokkolók: USB-C Universal, G2, G4, G5, Hp Elite/Zbook- Thunderbolt 4 G4
- Honor 90 256GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! Honor 400 Lite, Honor 400, Honor 400 Pro
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest