是否可以以编程方式从 swf(Flash 应用程序)中提取动态文本?

发布于 2024-08-03 03:51:09 字数 44 浏览 4 评论 0原文

是否可以以编程方式从 swf(Flash 应用程序)中提取动态加载的文本?

is it possible to extract dynamic loaded text from a swf (flash application) programatically ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

哭泣的笑容 2024-08-10 03:51:09

我心里有件事。

如果加载 swf,则可以在 INIT 处理程序中访问其子级,因此您可以使用递归函数自动循环所有子级并获取 TextFields(动态文本)的所有子级,因为状态文本是 TextSnapshot。

这是一个简单的实现:

var textFields:Array = [];
function getTextFields(container:DisplayObjectContainer,dumpArray:Array):void{
    for(var i:int = 0 ; i < container.numChildren ; i++){
        if(container.getChildAt(i) is TextField) dumpArray.push(container.getChildAt(i));
        if(container.getChildAt(i) is DisplayObjectContainer) getTextFields(DisplayObjectContainer(container.getChildAt(i)),dumpArray);
    }
}
//getTextFields(this,textFields);

听起来像某种爬虫。你有什么想法?

I've got one thing in mind.

If you load the swf, you can access its children in the INIT handler, so you could use a recursive function to loop through all the children automatically and get all children that are TextFields( dynamic text ), as statis text is TextSnapshot.

Here's a simple implementation:

var textFields:Array = [];
function getTextFields(container:DisplayObjectContainer,dumpArray:Array):void{
    for(var i:int = 0 ; i < container.numChildren ; i++){
        if(container.getChildAt(i) is TextField) dumpArray.push(container.getChildAt(i));
        if(container.getChildAt(i) is DisplayObjectContainer) getTextFields(DisplayObjectContainer(container.getChildAt(i)),dumpArray);
    }
}
//getTextFields(this,textFields);

Sounds like some kind of crawler. What do you have in mind ?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文