独立的Javascript布局引擎?

时间:2011-03-10 22:07:20

标签: javascript android html webkit

假设我从一个网站(我无法控制)中检索HTML内容,并且该内容包含大量Javascript代码,这些代码是布局引擎(例如WebView)实际呈现的内容的重要部分。

我有办法自己渲染吗?

例如,在极端情况下,假设我正在访问一个几乎没有任何内容但通过大量Javascript函数显示非常丰富的TEXT内容的网站(显然会产生HTML)。

如何访问/读取HTML结果?

我希望只在Android上执行此操作。

更新,尝试为@abesto提供更多上下文。如果您访问facebook.com并将呈现的内容复制/粘贴到文本文件中,您将收到:

Facebook logo
Email   Password

Keep me logged in   Forgot your password?
Facebook helps you connect and share with the people in your life.
Sign Up
It's free and always will be.
First Name: 
Last Name:  
Your Email: 
Re-enter Email: 
New Password:   
I am:   
Birthday:   

Why do I need to provide this?
Security Check
This field is required.
Enter both words below, separated by a space.
Can't read the words below?Try different words or an audio captcha.
Please enter the words or numbers you hear.
Try different words or back to text.
Loading...
Text in the box:
What's this?

Back
Registering…
An error occurred. Please try again.

By clicking Sign Up, you are indicating that you have read and agree to the Terms of Use and Privacy Policy.
Create a Page for a celebrity, band or business.

    * Română
    * English (US)
    * Español
    * Português (Brasil)
    * Français (France)
    * Deutsch
    * Italiano
    * العربية
    * हिन्दी
    * 中文(简体)
    * »

Facebook © 2011 · English (US)
Mobile · Find Friends · Badges · People · Pages · About · Advertising · Developers · Careers · Privacy · Terms · Help

但是如果你看一下实际的来源(你在HttpResponse中得到什么),你会看到更多的怪异文本......主要是javascript。

我只对Javascript的结果感兴趣。任何想法如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

我认为答案是肯定的,但不要这样做。

如果我必须实施将“Facebook”翻译成手机的解决方案,我可以使用浏览器自动化解决方案(例如Watir)在Amazon EC2上设置服务器并在那里运行浏览器模拟点击并从页面中删除数据。我认为,希望你可以在电话本身的幕后有效地运行,这太过分了。

但是,更好的解决方案可能是使用Firebug / Fiddler等对正在发送的ajax调用进行反向工程并找到获取底层数据的方法?或许你只需要对JS进行逆向工程:(。​​

答案 1 :(得分:0)

听起来你想要这样的东西:

http://jsconsole.com/

你基本上加载网址并搞乱它。你只需要用一些东西挂钩就可以编程方式。

查看他们的远程调试explanation

由于它通过流连接到您的Android,您可以使用任何您想要嗅探HTML的旧PC技术。