Hirdetés

Új hozzászólás Aktív témák

  • 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 :B
    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'))");

Új hozzászólás Aktív témák