Web / Android / iOS - 内部链接 - 寻找想法/解决方案。

时间:2015-02-18 11:39:40

标签: android .net json wcf ckeditor

我将首先描述我们现在拥有的东西:

  • CMS - 使用药物(meds)描述填充数据库。药物名称为 textbox和CKEditor用于HTML格式的描述。
  • WCF - 将数据库导出为JSON
  • Android应用程序 - 药物列表,然后webview显示药物描述 用HTML格式。

我们需要找到解决方案,在药物描述中创建内部链接(即药物名称),这将导致提到的药物描述页面。

使用我们目前的方法有没有办法实现这一目标?

即使我找到了如何在CMS中创建此功能的方法(可能我会使用哈希标记来区分外部和内部链接),我仍然不知道如何在Android应用中获得此功能。

如果这有风险或难以将此功能添加到我们当前的设置中,你们至少可以告诉我应该如何构建应用此内部链接功能。 我从来没有这样做过,所以我甚至不知道从哪里开始。 谢谢你的帮助。

1 个答案:

答案 0 :(得分:1)

让你在CMS中的链接有一个自定义的href格式 - 类似于drug:// drugid

并且在Android应用程序中(加载描述的webview,覆盖shouldOverrideUrlLoading

webView.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url.startsWith("drug://")) {
            //this is where the click to that href will be intercepted
            //extract the id from url and do whatever you want with it
            return true; //disable the webview to load that url
        }
        return false;
    }
});

对于IOS设备覆盖shouldStartLoadWithRequest

- (BOOL)WebView:(UIWebView *)myWebView shouldStartLoadWithRequest:(NSURLRequest *)request          navigationType:(UIWebViewNavigationType)navigationType {

    if([[request.URL absoluteString] hasPrefix:@"drug://"]) {
        //this is where the click to that href will be intercepted
        //extract the id from url and do whatever you want with it
        return NO;  //disable the webview to load that url
    }
    return YES;
}