2013-12-22 27 views
2

我有一个简单的脚本from AccuWeather显示在我的网站天气按钮:如何使用烟幕/ JavaScript来将Flash转换为影像

Weather button from AccuWeather

我喜欢简单的方式这个按钮显示。这对我想要的是完美的。

但是,生成的按钮采用Adobe Flash格式(swf),并且不会显示在大多数移动设备上,因为iOS和Windows Phone不支持,并且可以从Google Play应用商店下载Flash Player for Android is no longer available

我以为我在一个名为Smokescreen的开源项目中找到了一个解决方案,它有its development area at Github

我不需要这个来重现Flash影片。我需要的只是一个简单的基于JavaScript的Flash按钮转换为平面图像,可以在任何可执行JavaScript的浏览器中显示,其中包括移动设备。

但是,如何在他们的GitHub站点使用Smokescreen的文档和说明最少,我不是一个JavaScript专家,无法让它工作。

我正在通话,其从机构AccuWeather的Flash图片为:

<script src='http://netweather.accuweather.com/adcbin/netweather_v2/netweatherV2ex.asp 
    ?partner=netweather&tStyle=whteYell&logo=0&zipcode=NAM|CA|MB|WINNIPEG| 
    &lang=eng&size=7&theme=blue&metric=1&target=_self'> 
</script> 

谁能告诉我什么是JavaScript的是使用烟幕显示由上面的代码生成的图像闪存映像。

如果Smokescreen无法做到这一点,是否有任何其他方法可以做到这一点住在网页上?

回答

1

刚刚通过所发布网页的SWF测试了烟幕,并且它不起作用,如果您仍想使用该网站,则需要在服务器端解析SWF。

  • 我打开了,开发者控制台,并从IFRAME
  • 追查SWF复制该文件到我的电脑,然后
  • 克隆GitHub的回购和
  • 编辑player.html(从GitHub库) ,line 13指向我下载的文件。

这是我下载的SWF:http://netwx.accuweather.com/netWx-V212.swf?zipcode=46958


编辑:这是错误消息,我从开发者控制台有:

TypeError: this.defineEditText is not a function [loader.js:136](https://github.com/cesmoak/smokescreen/blob/master/src/player/loader.js#L136) 

我的系统请求许可,允许SWF连接到netwx.accuweather.com

+0

你让我开始了,但看起来我仍然需要多一点来弄清楚。它可能可以完成,但演示似乎称为“玩家”,这是一个简单的图像。所以也许有一个不同的电话或什么。我已经在Smokes GitHub上添加了一个问题,希望其中一个开发人员能够看到并回答。 https://github.com/cesmoak/smokescreen/issues/4 – lkessler

0

遗憾的是没有办法你的JavaScript可以处理SWF,espacially在移动设备上就像ios或Windows手机,因为JavaScript正在您的设备上运行。

你可以尝试是使用被描述为一种解决方法的JavaScript

here is the documentation of swfobject

+0

我不是那种人,但Smokescreen声称他们的javascript可以处理swf。我的问题是要了解如何正确调用Smokescreen,以便至少可以测试它是否可以工作。 – lkessler

+0

@lkessler,只是测试了您发布的网页的SWF,并且它不起作用,如果您仍想使用该网站,则需要在服务器端解析SWF。 –

+0

@AstDerek - 我很高兴你试了一下,发现了。但是,我只是在我的问题中询问我必须做出什么样的JavaScript调用来尝试,因为我想玩弄它。显然,你知道所需的电话。如果您仍然可以将此信息作为答案,我会接受它。 – lkessler

0

您是否使用无头浏览器,如phantomjs考虑swfobject的?您可以使用Selenium之类的东西来代替开箱即用的插件支持,但是可以使用there are headless options for Flash

这种软件的优点是它可以自动执行任何用户任务(这就是为什么它用于测试)。就像登录到一个网站并执行搜索,通常由于防伪令牌而无法在外部获得。或者通过查看其DOM元素值是否发生了变化来检查产品的价格是否发生了变化。 或访问您的网上银行,查看您的余额是否为优质号码并以分形形式呈现您的信用卡账单。

我的意思是,如果你想要去这么远的天气小工具,你可能有权力用户需要:)

...也似乎机构AccuWeather做了相当类似mobile-friendly version。如果它不是100%相同,你总是可以问。

编辑:检查他们的T & C,移动友好的片段实际上可能是出于法律原因的只有选项。

+0

不幸的是,他们的手机短片只有美国地区。我现在在我的问题中看到,我没有给出我使用的合法代码段的链接。我现在修复了这个问题,我使用的代码段是合法的,并且来自:http://netweather.accuweather.com/signup-page1.asp?partner=&traveler=0它允许国际位置,但只生成闪光灯按钮。我不明白phantomjs解决方案会做什么。它似乎将不得不生成整个网页,然后拍照并返回图片。我只想转换整个网页。只是闪光灯按钮。 – lkessler

+0

@lkessler:phantomjs或类似的浏览器允许页面在服务器上呈现。然后,您可以通过提供的截图(或者只是提供了API的按钮的部分截图)并随心所欲地执行任何操作 - 例如将图像保存为临时存储并将其用于移动用户。最棒的一点是,按钮将完全像浏览器中渲染,甚至不会意识到它的沙箱(不能保证相同的烟幕......特别是因为我找不到它的工作演示:) –

+0

无法找到一个工作演示,甚至没有关于如何使用Smokescreen的说明是我的问题的原因。 – lkessler