先用一个正则取得图片的宽高,然后值赋给后面的flash字符串,再替换之。

解决方案 »

  1.   

    现在问题是
    replaceNode()在Firefox下不通过
    有的图片并没有声明高宽度
      

  2.   

    <html>
    <head>
    <script>
    function test_pattern(id){
    document.getElementById(id).innerHTML='00<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="100" height="80"><param name="movie" value="test.swf" /></object>jljljlkjljl<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="120" height="最好能获得图片的高度"><param name="movie" value="test.swf" /></object>hgfhgfhfghd';

    };

    </script>
    </head>
    <body>


    <table><tr><td id="a">
    fdsfssdfsd
    <img src="1.jpg" width="100" height="80" />
    jljljlkjljl
    <img width="120" src="2.jpg" />
    hgfhgfhfghd
    </td></tr></table>
    <input type="button" onClick="test_pattern('a')">
    </body>比如这样可以吗O.0
      

  3.   

    找到这个元素,然后把里面的html全部替换O.0
      

  4.   

    hejunbin(何俊斌)请看清楚题意~
    俺只是想用一个Flash按图片的尺寸在图片的原位置替换掉图片~
    图片数量不等~大小也不等~
    其它内容保留~现在遇到一个问题:
    replaceNode()在Firefox下不通过~
    而在IE下
    var imgs = document.getElementById('content').getElementsByTagName('img');
    for (var i = 0; i < imgs.length; i++)
    {
    var f = document.createElement('object');
    f.setAttribute('classid', 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000');
    var p = document.createElement('param');
    p.setAttribute('name', 'movie');
    p.setAttribute('value', 'cimg.swf');
    f.appendChild(p);
    imgs[i].replaceNode(f);

    出现了这样的问题
    第1、3、5……被替换~
    而2、4、6……没被替换~
    被替换的加载不了Flash文件~
    (上面的cimg.swf在相同目录下)