如何从我的 html 文件移动到另一个 html 文件以创建 iOS 混合应用程序?

Posted

技术标签:

【中文标题】如何从我的 html 文件移动到另一个 html 文件以创建 iOS 混合应用程序?【英文标题】:How do I move from my html file to another html file to create an iOS hybrid app? 【发布时间】:2019-10-23 01:19:08 【问题描述】:

我想用 hybrid 格式的Spring-MVC 结构替换webView 页面所以我想用html 文件替换JSP 文件和把它放在ios project folder

这部分成功插入html测试文件,html加载也成功。

问题是当前页面文件应该移动到其他html文件中的那个。以前页面控制器文件的地址是由Java管理的,页面是移动到地址值的,但是现在必须显示html文件。

当前页面控制器

public class PageController 
    @RequestMapping("/index")
    public String index(Map<String, Object> model) 
        return "/index";
    
...

当前移动页面

function pagemove(_url) 
    location.href =  _url; // url: "/nextPage"

当前的 WebViewLoad

func loadWebPage(_ webUrl : String) 
        guard let myUrl = URL(string: webUrl) else 
            //report invalid URL
            return
        
        let myRequest = URLRequest(url: myUrl)
        WKWebView.load(myRequest)
    

现在我正在以这种方式移动屏幕。如果我切换到 HTML,我该如何移动?

从 iOS 加载 Web 视图(测试)

func loadWebPage(_ webUrl : String) 
   let localFilePath = Bundle.main.url(forResource: "HTMLFolder/testweb", withExtension: "html")!
   let myRequest = URLRequest(url: localFilePath)

   WKWebView.load(myRequest)

我正在使用 Swift5

我想从 testweb.HTML 文件转到 testwebTwo.HTML 文件。

提前致谢。

【问题讨论】:

【参考方案1】:

目前,您的项目通过Java 内置的服务器进行管理。但是现在您必须通过 ios 项目中的 html 文件移动您的页面。

有两种方法可以做到这一点。

首先,如果您将 webView 加载到 html 文件中,您的 webView 会查看项目文件的路径。 因此,在移动页面时,也可以指定路径。一个例子是 html 文件如何在相同路径中并被创建的例子。

function pagemove(_url) 
    location.href =  _url; // url: "./testwebTwo.html"

其次,可以通过jsnative通信发送和接收消息来加载页面数据。

js函数

    function testMovePage() 
      var data = ;
      data.movePage = "HTMLFolder/testwebTwo";
      try 
        webkit.messageHandlers.yourMessageKey.postMessage(data);
       catch (error) 
        alert(error);
      
    

从 Swift 接收

@available(iOS 8.0, *)
    func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) 
        if message.name == "yourMessageKey" 
            let sendmessage = message.body as! NSDictionary

            guard sendmessage["movePage"] != nil else 
                return
            
           let urlString : String = sendmessage["movePage"] as! String
           let filePath = Bundle.main.url(forResource: urlString, withExtension: "html")
           let request = URLRequest(url: filePath)
            WKWebView.load(request)
            ...

【讨论】:

以上是关于如何从我的 html 文件移动到另一个 html 文件以创建 iOS 混合应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何在没有参数列表太长的情况下移动多个文件?

如何在 django 中从当前 html 页面导航到另一个 html 页面

IMAP:如何将邮件从一个文件夹移动到另一个文件夹

如何使用 JavaScript 将所有 HTML 元素子元素移动到另一个父元素?

如何使用 Thymeleaf 将 html 文件包含到另一个 html 文件中

如何从我的 HTML/JavaScript 应用程序中引用 jQuery?