0

IE9 で画像のサイズを取得しようとしています。私は成功しました(jpgで試しました)。幅が高さよりも低い画像を読み込んでみると、まったく問題ありません。しかし、幅が高さよりも大きい画像をアップロードしようとすると、「vh:」、「vw:」を出力する行がゼロを返すことがわかります。

幅 > 高さのイメージを (私のコードで) 読み込もうとすると問題が発生するのはなぜですか? ありがとう。

これが私のコードです(IE9で動作します-それが私がチェックアウトしたいものです)。

<!doctype html>
<html>
  <head>
    <!-- <meta content="text/html; charset=UTF-8" http-equiv="Content-Type" /> -->
    <link href='http://fonts.googleapis.com/css?family=PT+Sans:400italic' rel='stylesheet' type='text/css'>
    <link href='http://fonts.googleapis.com/css?family=PT+Sans' rel='stylesheet' type='text/css'>
    <link href='http://fonts.googleapis.com/css?family=PT+Sans:700' rel='stylesheet' type='text/css'>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.9.1/jquery-ui.min.js"></script>
    <title>Image preview example</title>
    <script type="text/javascript">
      var loadImageFile = (function () {
        var v=new Image();
        if (navigator.appName === "Microsoft Internet Explorer") {
          return function () {
            alert("file." + document.getElementById("id_filepic").value);
            $("#id_image").css("filter", "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)");
            //$("#id_image").attr("src", document.getElementById("id_filepic").value);
            //v.src = document.getElementById("id_filepic").value;
            v.src = $("#id_filepic").val();
            alert("vw:" + v.width);
            alert("vh:" + v.height);
            $("#id_image").width(v.width);
            $("#id_image").height(v.height);
            document.getElementById("id_image").filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = document.getElementById("id_filepic").value;
            alert("w final:" + $("#id_image").width());
            alert("h final:" + $("#id_image").height());
          }
        }
      })();
    </script>
    <style type="text/css"></style>
  </head>
  <body>
    <form name="uploadForm">
      <p><input id="id_filepic" type="file" name="myPhoto" onchange="loadImageFile();" /><br />
    </form>
    <image id="id_image" src="" onmousedown="return false"></image>
  </body>
4

1 に答える 1

0

解決策を見つけたので、この問題は解決済みと考えてください: The event after loading image on IE9

とにかくありがとう :)

于 2014-01-29T12:15:15.093 に答える