首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Xamarin表单webview Eval不调用javascript

Xamarin是一种跨平台移动应用开发框架,它允许开发人员使用C#语言来构建iOS、Android和Windows平台上的原生应用程序。在Xamarin中,表单(Forms)是一种用于创建用户界面的UI框架,而WebView是一种用于显示Web内容的控件。

在Xamarin表单中,使用WebView控件可以加载和显示Web页面。Eval方法是WebView控件提供的一个方法,用于执行JavaScript代码并返回结果。然而,有时候在使用Eval方法时可能会遇到Eval不调用JavaScript的问题。

这个问题可能由以下几个原因引起:

  1. JavaScript代码错误:首先要确保要执行的JavaScript代码是正确的,没有语法错误或逻辑错误。
  2. 页面加载完成时机:Eval方法必须在WebView加载完成页面后才能调用。可以通过在WebView的Navigated事件中调用Eval方法来确保页面加载完成后再执行JavaScript代码。
  3. 安全策略限制:有些网站可能会使用安全策略来限制执行JavaScript代码,这可能导致Eval方法无法调用。可以尝试在WebView的Source属性中设置一个允许执行JavaScript的网址。
  4. WebView配置问题:可能是WebView的配置问题导致Eval方法无法调用JavaScript。可以尝试检查WebView的相关配置,例如是否启用了JavaScript执行等。

总结起来,当遇到Xamarin表单中Eval不调用JavaScript的问题时,可以通过检查JavaScript代码是否正确、确保页面加载完成后再调用Eval方法、检查安全策略限制以及检查WebView的配置等方面来解决问题。

腾讯云相关产品中,可以使用腾讯云的移动推送服务(https://cloud.tencent.com/product/umeng_push)来实现在移动应用中推送消息。此外,腾讯云还提供了丰富的移动开发相关产品和服务,例如移动应用开发平台(https://cloud.tencent.com/product/map),移动应用分析(https://cloud.tencent.com/product/mta),移动测试服务(https://cloud.tencent.com/product/mts),可以根据具体需求选择适合的产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

javascript:巧用eval函数组装表单输入项为json对象

//然后ajax post或get提交 表单元素不多的时候,这样还好,但是如果一个表单有好几十项甚至更多输入项的时候,写这种代码就太费劲了。...好在javascript中有一个邪恶的eval函数,可以帮我们完成一些类似c#反射的工作,比如下面这样: eval('A={}'); if (A.b==undefined) { A.b = {...}; } eval('A.b.c = 1'); alert(A.b.c);  这样,我们就动态创建了一个复合对象A,明白其中原理后,可以对表单做些改进: 运单号: <script type="text/<em>javascript</em>...,<em>调用</em>一下setFormModel函数,就能快速得到一个json对象(当然这只是示例,仅处理了一级属性的情况,如果有多级属性,大家自己去扩展吧,无非就是字符串上做些文章)

1.5K50

webview中用到的Javascript 博客分类: Javascript JavaScriptjsonwebkitjQuery框架

以前在博文中提到过,在 webview 中使用 jQuery 等框架,很影响网页加载速度,所以我都是使用纯 Javascript 来写页面脚本。...在开发 webview 程序过程中,经常用到了一些东西,总结一下: 1....以前博文中提过, Webview 支持 java 和 javascript 互调。而调用 Java 方法,返回的字符串不是 javascript 的本地字符串。...简单来说,就是 javascript 的字符串和从 java 中获取的字符串不一样,很多字符串操作函数都不支持。需要进行一道转换,转换方法就是对它调用 toLocaleString() 函数。...从 java 中获取的 json 字符串,在 javascript 中要转成 json 对象,一个很简单的方法就是 eval(json) 或 window.eval(json) 。

45610

H5 手机 App 开发入门:技术篇

如果已经掌握了 Web 技术,这个技术栈就主要学习容器提供的 API Bridge,网页通过它们去调用底层硬件的 API。...还有一个 NativeScript 框架,跟 React Native 很像,也是使用 JavaScript 语言,然后编译成原生控件。...5.2 Xamarin Xamarin 是微软公司的跨平台 App 开发框架,原理跟 React Native 很相似,只不过它的语言是 C#。 ?...打包的时候,会把这套控件打包进每一个 App,因此不存在调用原生控件的问题。不管什么平台,都调用内嵌的自己那套控件,就能做到 iOS 和安卓体验完全一致。...它是 Flutter 的官方语言,接近 JavaScript 语法,但是多了静态类型支持。 六、总结 通过上面的介绍,希望大家已经了解了各种技术栈的特点。

6.6K41

从Hybrid到React-Native: JS在移动端的南征北战史

注:因为不了解Dart,所以本文不对flutter相关内容进行阐述, 实在抱歉 其实写这篇文章的时候,我就知道,肯定有人问我:为什么写flutter?...然后呢,这个WebView控件对象还可以调用一个方法。...一个叫webView.addJavascriptInterface(接口对象,接口名)的方法,调用后,webView控件里面的HTML页面里的JS代码,就可以调用刚才addJavascriptInterface...1)web view.loadUrl 有了上面的经验你肯定知道,这事还是webview这位老哥来做的,它可以通过调用webview.loadUrl方法加载一个HTML页面,这样HTML中的JS脚本不就被调用了吗...,和Cordova等Hybrid方案划清界限 不将JavaScript预编译为Native代码,和Xamarin等方案划清界限。

3.3K10

JavaFX WebView概述,很强大,内置了类似Electron的功能

WebView中运行的JavaScript可以调用Java API,而Java API可以调用WebView中运行的JavaScript。...在WebView对象上调用的getEngine()方法将返回与其关联的Web引擎。 构成嵌入式浏览器的类位于javafx.scene.web包中。...JavaScript命令 从JavaScript执行向上调用到JavaFX 处理事件  除了支持CSS3和ecmascript6(ES6),WebView组件还支持以下HTML5功能: DOM3 帆布...它支持用户交互,例如导航链接和提交HTML表单,尽管它不直接与用户交互。 它加载网页,创建其文档模型,根据需要应用样式并在页面上运行JavaScript。...从JavaFX调用JavascriptWebView加载网站后,可以使用executeScript(java.lang.String)方法在当前页面的上下文中执行任意JavaScript代码。

10.2K41

移动开发的跨平台技术演进

随着移动开发的发展,互联网公司也是层出穷,有些公司迫于竞争,想要更迅速的更省成本的进行开发,就不再满足Android端一套代码,iOS端一套代码。...4.1 Xamarin Xamarin始创于2011年,2016年被微软正式收购。Xamarin是Mono项目的一个分支,基于.NET的跨平台实现的一个开源项目。...与PhoneGap等框架不同的是,Xamarin可以在iOS和Android刚推出新的功能时,第一时间调用相应的API,而使用PhoneGap则需要等待PhoneGap封装的新的功能后才可以调用相应的API...Xamarin的Andriod实现原理如下图所示。 ?  ...C#代码要是想调用系统功能或者Java的实现类库,可以借助MCW(Managed Callable Wrapper)的方式来实现。MCW是JNI的桥梁,可以使用托管代码调用Andriod代码。 5.

3.2K20

Android hybrid_android混合开发

在h5页面中,添加调用接口,在网页的javascript代码中使用上面安卓提供的MyJS.add()来调用(MyJS为Android端使用addJavascriptInterface方法时注入的调用本地方法类名称...Android端直接使用webview的loadUrl(“javascript:”+网页方法名)就可以直接调用的 但是方法一多这样就比较容易乱,因此我们可以创建一个专门管理的。...2、网页端添加Android端调用接口 创建html网页hybrid_test.html,并添加调用接口,在网页的javascript代码中使用上面安卓提供的MyJS.add()来调用。...(""); //设置是否打开 WebView 表单数据的保存功能 webSettings.setSaveFormData(true); //设置 WebView 的默认 userAgent 字符串 webSettings.setUserAgentString...本站仅提供信息存储空间服务,拥有所有权,承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

1.3K20

修复android下webView控件的总结

通过webView的loadUrl方法调用时,传入的url有很多。比如:当前游戏的角色、服务器啊、游戏产品标识、设备mac等很长的一串信息,点击表单页B时,又多带上了一个type。...在页面B中,用户点击一个A元素的超链接(href=”javascript:history.go(-1);”)它能正常返回,但是在点击提交问题按钮之后,ajax接口成功后用js调用history.go(-...is javascript:history.go(-1); not working on mobile devices?...WebView back history without redirects 首先排除Java中设置的问题,因为JavaScript是起作用的,证明mWebView.getSettings().setJavaScriptEnabled...这时候我突然会不会提交表单时它里面动态创建了一个iframe导致调用history.go(-1)失效了呢? ?

1.5K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券