0

我有一个 android 应用程序,我想在 webview 内向用户显示一个页面,但我面临的问题是我无法使用该网页,因为该页面无法响应移动设备并且用户需要滚动水平和垂直很多。网页是:

http://www.ielts.org/test_centre_search/search_results.aspx

我只需要该页面的下拉搜索功能。我尝试在本地复制 html 源代码以复制页面,但由于 html 表单的操作必须http://www.ielts.org/test_centre_search/search_results.aspx用于获取结果,所以当我在本地版本上选择一个选项时,它会转到http://www.ielts.org/test_centre_search/search_results.aspxurl 并显示他们的页面版本下次。

我遇到了这个页面:

http://www.ieltsessentials.com/test_centre_search.aspx

这是实现相同的功能。如何复制相同内容并将其添加到本地 .html 文档中

4

2 回答 2

3

我认为实现这一点的最简单方法是将您自己的 css 样式注入到他们的 html 中,并隐藏/重新设置不响应的元素的样式。这样您就不必分析它们所拥有的任何逻辑,因为它将在 css 级别上安全。您唯一需要弄清楚的是如何在重新加载页面后将您的 css 重新注入到 web 视图中。实际上有一种方法可以通过简单地将javascript调用注入他们的页面来做到这一点,就像这里https://stackoverflow.com/a/5010864/467198

要检测该页面是否已重新加载,我认为您可以使用 onPageFinished

于 2013-09-20T19:32:57.327 回答
0

您可以使用 asp 来代理您想要 canibalize 的页面,然后在 jQuery 中您可以遍历该代理页面并拉出您想要使用的部分,然后从原始页面中抓取的项目创建新的响应式文档。

我不是 asp.net 开发人员,所以我在示例中使用了 php。这是一个链接到如何使用 asp.net 代理页面的示例

最简单的 ASP .NET AJAX 代理页面

<?php echo file_get_contents( $_GET['u'] );

然后在 jQuery 中使用 $.ajax() 将代理页面读取为 HTML 并根据需要抓取页面

<script>

$(function(){
    $.ajax({
            url:'proxy.php?u=http://www.ielts.org/test_centre_search/search_results.aspx',
            dataType:'html',
            success:function(data){
                console.log($('#header',data));
            }
    })
});

</script>

在这个例子中,我只是在阅读#head 的内容,但您可以从原始页面中抓取您需要的任何内容,然后将它们插入您的目标 dom 或将它们传递给模板。要获得您要查找的内容,您可以使用“#Template_TestCentreSearch1_SearchTable”,我使用“#head”检索您的下拉标记

于 2013-09-24T20:41:51.963 回答