Syncfusion 控件未在 iOS 本机 UIWebView 上加载
Posted
技术标签:
【中文标题】Syncfusion 控件未在 iOS 本机 UIWebView 上加载【英文标题】:Syncfusion controls not loading on iOS native UIWebView 【发布时间】:2017-08-18 07:57:04 【问题描述】:我有一个使用 ASP.NET MVC 构建并在其中使用 Syncfusion 控件的 Web 应用程序。此外,我正在使用本机 WebView 构建 ios 和 android 应用程序。
我目前面临的问题是 Syncfusion 控件无法在 iOS 原生 UIWebView 上运行,但在 Android Webview 和其他 Web 浏览器上运行良好。
[Error] TypeError: null is not an object (evalating 't[1]') getBrowserDetails (ej.web.all.min.js:10:2620892) setWidthToColumns (ej.web.all.min.js:10:2713042) _completeAction (ej.web.all.min.js:10:2705521) sendDataRenderingRequest (ej.web.all.min.js:10:2703872) _renderGridContent (ej.web.all.min.js:10:2684094) 渲染 (ej.web.all.min.js:10:2674498) _initGridRender (ej.web.all.min.js:10:2664775) _checkDataBinding (ej.web.all.min.js:10:2631224) _init (ej.web.all.min.js:10:2626321) (匿名函数) (ej.web.all.min.js:10:19759) (匿名函数) (ej.web.all.min.js:10:20802) (匿名函数) (actelion-test.pulselinks.com:995)
仅对具有 SyncFusion 控件的页面抛出上述错误。由于该错误页面未能在 WebView 中加载所需的脚本,并且应用程序无法按预期工作
我当前的 Syncfusion 脚本 ej.web.all.min.js 版本是 14.2。
如果您让我知道为什么会出现错误以及如何解决错误,那将非常有帮助?
感谢高级的帮助。
【问题讨论】:
我会向 SyncFusion 报告这个问题。就我个人而言,在 iOS 上使用WKWebView
而不是 UIWebVIew
,由于 Nitro JS 引擎,它不仅速度快了 2 到 4 倍,而且完全支持 html5、手势支持等...
非常感谢您的评论。您是否向 SyncFusion 报告了该问题?如果您让我知道解决问题所要遵循的步骤,将会非常有帮助。
【参考方案1】:
我们可以看到您在 IOS 平台中从 Cordova 浏览器启动 Grid 时遇到了一些复杂问题。我们可以通过更改 getBrowserDetails 的功能来克服这个问题,如以下代码示例所示。
<script>
$(function ()
. ..
var getBrowsedtls = function ()
var b = navigator.userAgent.match(/(firefox|chrome|opera|msie|safari|ipad|iphone|ipod touch|android|)\s?\/?(\d+(.\d+)*)/i);
if (!!navigator.userAgent.match(/Trident\/7\./))
return browser: "msie", version: $.uaMatch(navigator.userAgent).version ;
return browser: b[1].toLowerCase(), version: b[2] ;
;
$("#test").ejGrid(
dataSource: values,
. . . .
showSummary: false,
load: function(args)
this.getBrowserDetails = getBrowsedtls;
,
. . .
);
);
</script>
我们更改了 Grid 的 load 事件中的方法细节。请参阅以下 API 参考。
https://help.syncfusion.com/api/js/ejgrid#events:load
【讨论】:
以上是关于Syncfusion 控件未在 iOS 本机 UIWebView 上加载的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在使用 Syncfusion 将它们停靠在 C#.NET 中时看不到某些控件?
FBSDKLoginManager 未在本机 ios 应用程序中打开登录对话框
Syncfusion Xamarin ListView,权限滑动问题