【问题标题】:On-the-fly mirroring of web site for mobile use即时镜像网站以供移动使用
【发布时间】:2011-01-08 14:24:09
【问题描述】:

我想创建一个网站的移动版本。我没有对源网站的写入权限。源网站的 HTML 格式很好,大多数移动查看的调整应该可以通过 CSS 覆盖来实现。

我很快就遇到了Google tool for mobile viewing of web sites;某种动态镜像对我来说似乎是最佳选择(可能通过 PHP 或 AJAX/JS),但我找不到任何流行的方法或包来执行此操作。

我现在将继续尝试使用 jQuery 动态加载站点;我想在应用一些 CSS 和 JS 格式规则之前,我必须用 AJAX 调用替换链接,并使图像引用绝对。

如果有更好的方法可以做到这一点,我将不胜感激!

【问题讨论】:

    标签: dynamic web pageload mirror on-the-fly


    【解决方案1】:

    我认为您无法使用 jQuery 加载其他网页,因为大多数浏览器中的设置会阻止打开具有不同域名的网站(以阻止攻击,这是使用您尝试的内容的另一种方式做)[编辑:这是关于 XSS 安全性]

    至少我不相信如果不更改此设置,它可以在 Javascript 中完成。但是服务器端应用程序应该没有这样的问题。

    如果您决定在 asp 中执行此操作,那么我会推荐 HTMLAgityPack。它是一个非常好的 html 解析器,它允许您与 HTML 进行交互,就好像它是一个 xml dom,使更改链接和引用更容易。此外,.net 的 System.Uri 类将使您能够找到链接/图像/javascript/等的绝对位置

    我绝不是说这是最好的方法,甚至不是最适合你的方法;这只是我知道的一种方式

    编辑:

    尝试使用其中之一来解析您的 HTML。它肯定比乱用不合适的正则表达式要容易得多

    XML Parsers

    HTML Parsers

    【讨论】:

    • AJAX 是对的,我没有考虑 XSS 安全问题。当页面没有显示时,那是一个非常重要的 2 分钟 ;)
    • 暂时我最终使用 PHP 加载页面,将内部链接/图像引用从相对更改为绝对,并注入一些自己的 CSS 和 JS。 jQuery 和 CSS 在移动 DOM 树和修改布局方面表现不错,但我的正则表达式非常不完整。稍后我会继续寻找;必须有一个像样的图书馆才能做到这一点。
    • 用正则表达式解析 HTML?是的...尽量不要那样做。如果能找到,请尝试使用 xml 解析器...
    • 我有责任链接这个:stackoverflow.com/questions/1732348/…
    • 你应该在这里找到一个不错的 xml 解析器
    猜你喜欢
    • 2011-08-13
    • 2011-04-27
    • 2013-01-01
    • 2011-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 2014-01-19
    相关资源
    最近更新 更多