Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

页面跳转及传递参数问题 #46

Open
xiaolongyuan opened this issue Apr 13, 2017 · 2 comments
Open

页面跳转及传递参数问题 #46

xiaolongyuan opened this issue Apr 13, 2017 · 2 comments

Comments

@xiaolongyuan
Copy link
Contributor

xiaolongyuan commented Apr 13, 2017

1 请问 如何从页面 A 页面 B?

  • A页面 /book/index.html
  • B页面 /book/detail.html?id=101111

2 id=101111 参数如何传递?

实际环境中 url会被转换为
file:///http://cdn.xxxx.com/rexxar/book/re_details-edfdc283f2.html?uri=ifitting://xxxx.com/cashbox/re_details?id=77992017022800000005

@qluan
Copy link
Contributor

qluan commented Apr 13, 2017

@xiaolongyuan

“请问 如何从页面 A 页面 B?”

rexxar页面的跳转都是基于uri的,所以首先需要给页面A和B定义好route,比如
页面A: xx://xx.com/book/index
页面B: xx://xx.com/book/detail?id=101111

从页面A打开页面B,只需要在页面A中,然后在webview中处理xx://xx.com/book/detail?id=101111 的跳转即可, webview中对uri的处理可以做的更通用一些,比如1. 先查看rexxar能否处理该uri;2. 再查看native页面是否可以处理该uri 3. 默认处理

“id=101111 参数如何传递?”

当我们用rexxarview打开xx://xx.com/book/detail?id=101111这个uri的时候,rexxar底层会根据route查找html,替换成file:///http://cdn.xxxx.com/rexxar/book/re_details-edfdc283f2.html?uri=ifitting://xxxx.com/cashbox/re_details?id=77992017022800000005,这些逻辑都是疯状态rexxarview里面,不需要关心

在html页面里面可以通过window.location.href解析得到完整的uri(包含uri中的参数)

@xiaolongyuan
Copy link
Contributor Author

xiaolongyuan commented Apr 14, 2017

谢谢回复。

还有情况就是

1. 生产环境 开发环境 问题

我想到是 线上有专门线上路由 线下走线下路由
线上访问形式不变
线下开发 以官方推荐的

在浏览器中通过 http://localhost:8080/rexxar/demo.html?uri=douban://douban.com/rexxar_demo/ 这样的url来查看页面。

请问这种思路对么 或者有更适合的方式么?

2 各种访问情况问题

场景说明 :

为什么需要支持 b c 方式进行 ? 因为活动页。

3 以如何形式打开页面问题

  • h5中如何触发打开页面动作? 使用 location.href=xx://xx.com/book/detail?id=101111 然后在 WebviewClient拦截 虽然可以导航到新页但是 会导致当前页404
  • 当 rexxarview 拦截到 xx://xx.com/book/detail?id=101111 请求时 是新建一个Activity 还是 在当前 Activity 重新加载?
  • 当 rexxarview 拦截到 http://h5.xxxx.com/book/detail.html?id=101111 请求时 是新建一个Activity 还是 在当前 Activity 重新加载?

我现在是

  open(uri) {
    // super.call({
    //   action:'open',
    //   uri:uri,
    //   mode
    //   });

    let iframe = document.createElement('iframe');
    iframe.src = uri;
    iframe.style.display = 'none';
    document.documentElement.appendChild(iframe);
    setTimeout(function() {
      document.documentElement.removeChild(iframe);
    }, 0);
  }

再次感谢您抽空解答 谢谢

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants