-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-02-25 10:20 Téma összefoglaló
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
Sajnos ez nem jó:
webBrowser.Navigate("javascript:globalInputManager.restart()");
string helyett System.Uri-t vár. Én ezzel próbáltam eddig meghívni: webBrowser.InvokeScript("valami");#Jim-Y : Az általad írt kód sem működik.
É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
Sajnos ez nem jó:
webBrowser.Navigate("javascript:globalInputManager.restart()");
string helyett System.Uri-t vár. Én ezzel próbáltam eddig meghívni: webBrowser.InvokeScript("valami");#Jim-Y : Az általad írt kód sem működik.
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
Szerkesztettem már az előző hozzászólásom csak jött egy áramszünet...
Szóval, az szépen megy hogy javascriptből hívjak meg C#-s függvényt stb, vissza fele is megy, amennyiben ilyen a függvény a js-ben:
function valami() {
alert("masvalami");
}Ahogy sikerült kivennem a kódból, a keyboard_input_manager.js-ben lévő
KeyboardInputManager.prototype.restart = function (event) {
event.preventDefault();
this.emit("restart");
};függvény felelős az újraindításért. Ezt szeretném c-ből meghívni. És ha ezzel megcsinálom a fentebb említett módszert, akkor nem működik. Remélem így már érthető a gondom.
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
Szerkesztettem már az előző hozzászólásom csak jött egy áramszünet...
Szóval, az szépen megy hogy javascriptből hívjak meg C#-s függvényt stb, vissza fele is megy, amennyiben ilyen a függvény a js-ben:
function valami() {
alert("masvalami");
}Ahogy sikerült kivennem a kódból, a keyboard_input_manager.js-ben lévő
KeyboardInputManager.prototype.restart = function (event) {
event.preventDefault();
this.emit("restart");
};függvény felelős az újraindításért. Ezt szeretném c-ből meghívni. És ha ezzel megcsinálom a fentebb említett módszert, akkor nem működik. Remélem így már érthető a gondom.
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
Szerkesztettem már az előző hozzászólásom csak jött egy áramszünet...
Szóval, az szépen megy hogy javascriptből hívjak meg C#-s függvényt stb, vissza fele is megy, amennyiben ilyen a függvény a js-ben:
function valami() {
alert("masvalami");
}Ahogy sikerült kivennem a kódból, a keyboard_input_manager.js-ben lévő
KeyboardInputManager.prototype.restart = function (event) {
event.preventDefault();
this.emit("restart");
};függvény felelős az újraindításért. Ezt szeretném c-ből meghívni. És ha ezzel megcsinálom a fentebb említett módszert, akkor nem működik. Remélem így már érthető a gondom.
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
Köszönöm a választ, de így sem jó teljesen, azt hittem nem fontos hogy mi az ami az eredeti függvényben van, de úgy látszik az.
event.preventDefault();
Amint megcsinálom azt amit írtál az event, undefined lesz.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
Köszönöm a választ, de így sem jó teljesen, azt hittem nem fontos hogy mi az ami az eredeti függvényben van, de úgy látszik az.
event.preventDefault();
Amint megcsinálom azt amit írtál az event, undefined lesz.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
Sziasztok, nem értek a javascripthez, ezért lenne szükségem egy kis segítségre. Adott egy html fájl és sok .js, az egyik .js-ben van egy ilyen függvény:InputManager.prototype.restart = function (event) {
alert("teszt");
};
Arra lenne szükségem hogy ezt a függvényt megtudjam hívni C#-ból(windows phone-s app), viszont ehhez tudnom kéne a függvény nevét, próbáltam utánajárni a dolgoknak, de eddig nem jártam sikerrel, azt próbáltam hogy a function után beírtam egy nevet, de nem lett jó. Előre is kösziHa 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
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Nyomtatók, szkennerek Tabletek, E-bookok PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Félkonfig AMD Ryzen 5 5600G 3,9 Ghz / Kingston Hyper X 32GB DDR4 /512 GB NVME SSD 6 hó garancia
- DJI Mini 2 SE
- P16s Gen2 16" FHD+ IPS i7-1360P RTX A500 32GB 1TB NVMe ujjlolv IR kam gar
- ASUS RTX 5070 TI 16GB GDDR7 PRIME OC - Gari 2028.04.10. -ig - Eladó!
- Eladó - DELL Inspiron, DELL Latitude, HP EliteDesk, DELL PowerEdge R630
- LENOVO ThinkPad P50 - 15,6", E3-1505M v5, 16GB RAM, SSD, Quadro M2000M 4GB, jó akku, számla, 6 hó
- iPhone 13 Pro Max 512GB zöld
- Intel Core i9-10850K 10-Core 3.6GHz LGA1200 (20M Cache, up to 5.20 GHz)
- 27% - ASUS Hyper M. 2 X16 V2 4X M. 2 PCI-e SSD Beépítõ Kártya!
- HP EliteBook 845 G7 14" Ryzen 5 pro 4650U, 8-16GB RAM, 256-512GB SSD, jó akku, számla, 6 hó gar
Állásajánlatok
Cég: aiMotive Kft.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest

É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.
