0

私はphpでajaxアップロードを行いました。Firefoxではすべてが完璧になります。

しかし、Chromeブラウザでテストすると、正しく機能しません。

つまり、これが表示されます: ここに画像の説明を入力してください

これは私のajaxアップロードコードです:

$(function(){
        var cntUp = 0;
        var btnUpload=$('#upload0');
        var status=$('#status');
        var state='left_front';

        new AjaxUpload(btnUpload, {
            action: 'upload-file.php',
            data: {saleid: $("#hid_saleid").val(),imag_state:state,custom:$('#custom').val()},
            name: 'uploadfile',
            onSubmit: function(file, ext){
                 if (! (ext && /^(jpg|png|jpeg|gif)$/.test(ext))){ 
                    // extension is not allowed 
                    alert('Only JPG, PNG or GIF files are allowed');
                    return false;
                }
                this.setData({
                    'saleid': $("#hid_saleid").val(),
                    'imag_state':'left_front',
                    'custom':$('#custom').val()
                });

                status.text('Uploading...');
            },
            onComplete: function(file, response){
                var array_data=response.split('***');   
                var  fname= array_data[1];  
                var rand=Math.floor((Math.random()*10)+1); 
                var saleid = $("#hid_saleid").val();
                var custom = $('#custom').val();
                //On completion clear the status
                status.text('image uploaded');
                cntUp++;
                //console.log(cntUp);
                //Add uploaded file to list
                if (response.toLowerCase().indexOf("success") >= 0 ) {
                    var image='<img src="uploads/'+saleid+'/'+fname+'" alt=""  width="131px" height="125px"/>';
                    $("#img0").html(image);

                }  else{
                    $('<li></li>').appendTo('#files').text(file).addClass('error');
                    //alert('error');
                }
            }
        });

    });

これはhtmlコードです:

<div class="brwse_box">
<div style="float:left;" id="upload0">
<h3>Left Front</h3>

<img src="images/upload.gif" />
</div>
<div style="float:right; width:131; height:125" id="img0">
<?php if($l_ft==''||$l_ft==NULL) { ?>
  <img src="images/no-photo-lft-frnt.jpg"  id="bg"/>
<?php } if($l_ft!=''||$l_ft!=NULL){?>
   <img src="uploads/<?php echo $var_sid;?>/<?php echo $l_ft;?>" id="bg" width="131px" height="125px"/>
<?php }?>
</div>
</div><!--browse_box ENDS-->

どうすればこれを解決できますか?

Firefoxで画像を表示しますが、クロムでは画像タグのhtmlを表示する代わりに画像を表示しません。

編集:

fnameこれは、変数で返される値です。

left_front.jpg<div id=isChromeWebToolbarDiv" style="display:none"></div>

4

2 に答える 2

2

src文字列に問題があるようです。fnameエスケープ文字を確認してください...引用符が含まれている可能性があると思います...

編集: 「ChromeWebToolbarDiv」とは何ですか?

fname = fname.replace(new RegExp("<div id=isChromeWebToolbarDiv(.*)</div>"),'');

または単に

fname = fname.replace(new RegExp("<div(.*)</div>"),'');
于 2012-09-04T06:48:51.780 に答える
1

質問の編集の後、それはそれを知るようになりました

入ってくる src

これは、DVDvideosoftTBと呼ばれるChrome拡張機能が原因で発生します。上記のHTMLをファイルアップロードリクエストに追加しているようです。簡単に無効にできます。

  • レンチアイコンをクリックします
  • 「ツール」をクリックします
  • 「拡張機能」をクリックします
  • DVDvideosoftTBを無効にする
于 2012-09-04T06:57:46.780 に答える