Webからの画像のサイズを変更したり、有害なユーザーと戦ったり...

実装に関するアドバイスが必要です。

指定: Drupal、 Bueditor 、マテリアル(登録ユーザーによって追加されます)。

各ユーザーは、自分の素材の見栄えを良くするために、投稿に写真を追加したいと考えていますが、画像をサイトにアップロードする可能性はなく、オンラインのイラストのみを投稿するオプションがあります。 したがって、ユーザーはURLをスローするだけで、自動的にIMGタグに割り当てられます。 すべては問題ありませんが、ユーザーは2500x2500pxの解像度でファイルを見つけて簡単に挿入できるため、文字通りサイトを引き裂くことができます。


タスク:ユーザーがサイトを破壊しないようにします。

解決策:
マテリアルに画像を配置するためのデザインは次のとおりです。

«div class="content"» «img src="LINK"» «/div»

規定されたスタイルで:

div.content img {max-width:500px;}

6 IEと彼の先祖が別のCSSでこれを理解していないことを考慮して、
IE専用にロードされます:

div.content img { width: expression(this.offsetWidth < 500 ? "auto" : 500); }

その結果、ユーザーが幅500ピクセルを超える画像を挿入した場合、ブラウザーによってサイズが変更され、500未満の場合はそのまま表示されます...
私は正しいことをしたか、この問題に対するより便利で有能な解決策がありますか?

ありがとう...

APDate
サーバーへのアップロードを繰り返しますが、画像のポスト処理は適合しません。これの実装に複雑なことはありません。

ちなみに、ハブでは、2500x2500pxの画像を挿入したいという愚か者からの保護もありません。自己調整メカニズムだけである場合は、よく見られません。

はい、上記のソリューションには次のようなマイナスの要素があります。画像はブラウザによって曲がってサイズが変更され、ユーザーは500ピクセルの幅などが表示されていてもファイル全体を読み込みます。

しかし...このコードが提供されない場合、これらのマイナスはすべて存在し、サイトブレークが追加されます。

このようなもの...

Source: https://habr.com/ru/post/J27426/


All Articles