Intereting Posts
Отладка приложений Android для разжигания огня Как отправить BroadCast из одного приложения в другое приложение Сравните два звука в Android Панель инструментов AppCompat: изменение цвета значка переполнения в ActionMode Приложение Android Facebook: срок доступа к токену (expires_in) всегда равен 0 Как я могу проверить, какая версия плагина Gradle Android используется в моем проекте? Предупреждение proguard: конфигурация сохраняет точку входа … но не класс дескриптора Как указать несколько исходных папок в build.properties при использовании ant для сборки проектов Android? Есть ли более простой / лучший способ поместить границу / контур вокруг моего TextView? «Не удалось установить на USB-накопитель или SD-карту» приложение для установки ошибок на устройствах Samsung Android – Как получить приложение для приложения Flavor Как подключиться к серверу в мобильном приложении? Просмотр списка Android с разделителями Варианты Qt для архитектур mips, arm, x86 отсутствуют Как открыть или имитировать щелчок на андроид Preference, созданный с помощью XML, программным путем?

Ошибка веб-представления Android. I / chromium: «Невстреч ReferenceError:

У меня есть веб-сервис. В том, что я добавил считыватель штрих-кода для Android

Итак, с помощью JavaScript я вызываю свой считыватель штрих-кода из веб-представления

Поэтому для этого я последовал этому

И спроектирован на стороне сервера … Я дал это

В JavaScript

function mybarcd() { MyApp.mybarcdt(); } function actfromAnd(msg){ document.getElementById("brcd").value = msg; } at HTML/PHP <div class="data"> <input id="brcd" type="text" value=""/> <button type="button" onClick="mybarcd()">SCAN</button> </div> 

На стороне Android В webview

  webView.addJavascriptInterface(new WebAppInterface(this), "MyApp"); 

И новый js-интерфейс

  @JavascriptInterface public void mybarcdt() { IntentIntegrator intentIntegrator = new IntentIntegrator(Main_A.this); intentIntegrator.setBeepEnabled(true); intentIntegrator.setOrientationLocked(true); intentIntegrator.setPrompt("Scan Barcode"); intentIntegrator.initiateScan(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); if (result != null) { if (result.getContents() == null) { Log.d("ScanActivity", "Cancelled scan"); Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show(); } else { Log.d("ScanActivity", "Scanned"); String bcval = result.getContents(); if (android.os.Build.VERSION.SDK_INT < 19) { webView.loadUrl("javascript:actfromAnd(\""+bcval+"\")"); }else{ webView.evaluateJavascript("javascript:actfromAnd(\""+bcval+"\")", null); } System.out.println("javascript:actfromAnd(\""+bcval+"\")"); } } else super.onActivityResult(requestCode, resultCode, data); } 

Моя проблема заключается в том, что он отлично работает в одном файле Html / PHP с Js на той же странице или отдельной странице, на которой я протестировал ее сканирование и обновил значение в поле ввода …

Но он не работает, так как я использую несколько страниц или фреймов в одном веб-просмотре … его отсутствует значение JS … Как бы создать сервер с его открывающим сканером при щелчке … но после сканирования значение не переходит на вход Box with JS Я получаю эту ошибку …..

 I/chromium: [INFO:CONSOLE(1)] "Uncaught ReferenceError: actfromAnd is not defined", source: (1) 

Обновить

1) Я hava Пробовал это на Статической странице с JS в стороне, что PHP / HTML-страница
2) Я также попытался с такой же статичной страницей с отдельной страницей JS
На вышеуказанных двух условиях его обработанный штраф

Но на моем веб-сервисе я дал тот же JS-файл, который успешно запущен на статической странице. У меня есть один JS-файл для My Webservice и Static, который работает нормально, но не работает в MY webservice live .. Как всегда JS загружается Потому что нажимайте его wokring из этого JS и его открытие Camera But responce после сканирования его не собирается на веб-вход

Я понимаю, что я получаю ошибку, потому что …

На моей странице в реальном времени у меня есть MainMenu В этом меню, когда я выбираю приложение, его загрузка в iframe Итак, моя реакция на активность Android после сканирования. Пинг на эту страницу Mainmenu. Но для меню нет функции Js с именем actfromAnd Поэтому я получаю сообщение об ошибке .. ,

Здесь я не могу указать URL этой конкретной страницы ( iframe ). Из-за того, что в зависимости от меню это изменится, я могу напрямую ссылаться или напрямую на MainMenu. Но не для конкретной страницы внутри меню

Может ли кто-нибудь предложить мне такого рода …

Solutions Collecting From Web of "Ошибка веб-представления Android. I / chromium: «Невстреч ReferenceError:"

Добавьте этот скрипт в веб-сервис в своем родительском меню, в котором есть ваш iframe или iframes

 <script> function actfromAnd(msg){ window.frames['yourExactframe'].document.getElementById("brcd").value = msg; } </script> 

Если вы используете то же самое в более чем одном кадре, тогда объявите имя фрейма глобально

Я попробовал ваш код работать отлично … В моем примере Frame Hope Это отлично работает для вас

Хороший вопрос ….

  • Вы должны выполнить javascript при загрузке страницы

    mWebView.setWebViewClient(new WebViewClient() { @Override public void onPageFinished(WebView view, String url) { webview.loadUrl("javascript:myFunction()"); } });

  • Код будет выполнен и найдет вашу функцию javascript. То, как вы делаете сейчас, не ждет.