Javascript 在flash电影加载到网页时,是否可以捕获/查找其尺寸?

Javascript 在flash电影加载到网页时,是否可以捕获/查找其尺寸?,javascript,flash,actionscript-3,Javascript,Flash,Actionscript 3,我有一个cms,我的客户从他们的客户加载横幅广告。他们不知道尺寸,或者在上传横幅时不想输入尺寸。当我们从db抓取电影以显示在页面中时,是否可以捕获维度来设置对象属性? 我读到电影尺寸在loaderinfo对象中可用,但这是AS3对象,对吗?flash电影之外是否有AS3对象可用?我可以通过javascript访问loaderobject吗? 我们试图加载的Flash电影不是我们的,我们无法访问flas或类似的内容,因此我们无法编辑与电影本身有关的任何内容。这可能会有所帮助 我认为您甚至可以更轻松

我有一个cms,我的客户从他们的客户加载横幅广告。他们不知道尺寸,或者在上传横幅时不想输入尺寸。当我们从db抓取电影以显示在页面中时,是否可以捕获维度来设置对象属性? 我读到电影尺寸在loaderinfo对象中可用,但这是AS3对象,对吗?flash电影之外是否有AS3对象可用?我可以通过javascript访问loaderobject吗? 我们试图加载的Flash电影不是我们的,我们无法访问flas或类似的内容,因此我们无法编辑与电影本身有关的任何内容。

这可能会有所帮助

我认为您甚至可以更轻松地使用jquery


尝试类似$object.height和$object.width的内容;如果您只有一个flash对象标记。

如果您希望在无需用户输入的情况下100%准确地存储大小,您还可以在服务器端执行一些操作

例如,此python脚本将输出压缩类型、版本、压缩或未压缩的大小以及维度

#!/usr/bin/env python

import bitstring
import zlib

swf_file = file("test.swf", "rb")
swf = swf_file.read()
swf_file.close()

bits = bitstring.ConstBitStream(filename="test.swf")
type = "".join(map(chr, bits.readlist('uint:8, uint:8, uint:8')))
print "Compression:         ", type
print "Version:             ", bits.read('uint:8')
swf_length = bits.read('uintle:32')
if type == 'CWS':
    print "Compressed Size:     ", swf_length
    f = zlib.decompress(bits.bytes[8:], zlib.MAX_WBITS)
    bits = bitstring.ConstBitStream(bytes=f, length=swf_length * 8 - 64)
else:
    print "Uncompressed Size:   ", swf_length
nbits = bits.read('uint:5')
xmin, xmax, ymin, ymax = bits.readlist('uint:{size}, uint:{size}, uint:{size}, uint:{size}'.format(size = nbits))
print "Dimensions:           {x}x{y}".format(x = (xmax - xmin) / 20, y = (ymax - ymin) / 20)
示例输出:

Compression:          CWS
Version:              10
Compressed Size:      166608
Dimensions:           200x100

这两个例子我都不起作用。这里可以看到codefidelity示例,-提供了巨大的宽度和高度。这里可以看到一个jQuery示例,宽度和高度也不正确。宽度和高度均应为187px。我是不是错过了一些很明显的东西?