捕获移动设备的部分网页

时间:2013-09-15 14:25:42

标签: javascript html asp.net

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

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

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

我看到了这个页面:

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

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

你可以使用asp来代理你想要移动的页面,然后在jQuery中你可以遍历那个代理页面并拉出你想要使用的部分,然后从原始文件中删除的项目创建新的响应式文档页。

我不是asp.net开发者,所以我在我的例子中使用过php。这里是一个如何使用asp.net代理页面的例子的链接

Simplest Possible ASP .NET AJAX Proxy Page

<?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'来检索你的下拉标记