как вызвать функцию javascript из функции SmartGWT

привет всем, я пытаюсь вызвать нативную функцию Js под названием test, которую я написал в файле HTML в проекте smartGWT, но он говорит, что test не является функцией

собственный код java-скрипта в классе smartGWT:

public static native void  callTest()/*-{
        window.test();

}-*/;

функция java-скрипта в файле HTML:

 <script  type="text/javascript">   
    function test(){
        window.alert("test");
    }
    </script>

и я также добавил:

<script src="org.example.yourcode.Spiffy.nocache.js"></script>

но, как я понимаю, тест не является функцией, так что есть ли у кого-нибудь идеи или кто-нибудь может оказать любую помощь, пожалуйста?
спасибо

и когда я добавляю $window.test() вместо window.test(), я получаю следующее сообщение?

введите здесь описание изображения
и когда я использую $wnd.test(); у меня была следующая ошибка:

Ошибка при использовании $wnd.test()


person mohammad    schedule 31.08.2013    source источник


Ответы (3)


просто попробуйте добавить '$' перед window.test(). то есть $window.test() и посмотрите.

person milind_db    schedule 31.08.2013
comment
попробуйте запустить приложение в другом браузере. - person milind_db; 31.08.2013
comment
я сделал и у меня была такая же проблема - person mohammad; 31.08.2013

Попробуйте использовать $wnd вместо window.

person David Levesque    schedule 31.08.2013
comment
я делала и результат тот же :( - person mohammad; 31.08.2013

GWT JavaScript загружается в iframe на главной странице, поэтому «окно» и «документ» в вашем JavaScript будут относиться к iframe. GWT использует псевдоним главной страницы «окно» и «документ» через $wnd и $doc.

Пожалуйста, прочитайте все в этом разделе: http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsJSNI.html

person Strelok    schedule 31.08.2013
comment
я сделал, но он говорит ноль, я добавил исключение к вопросу выше - person mohammad; 01.09.2013
comment
Вы действительно смотрели журнал в консоли DevMode? Как говорится в сообщении об ошибке? Опубликуйте исключение, которое там есть. - person Strelok; 02.09.2013