【问题标题】:How to set image dimensions through javascript? (SSL logo served through JS, no dimensions)如何通过javascript设置图像尺寸? (通过 JS 提供的 SSL 徽标,无尺寸)
【发布时间】:2014-10-24 19:21:49
【问题描述】:

情况:EV-SSL 徽标通过 javascript 提供 - 必须通过脚本提供,用于身份验证。

问题:脚本未指定图像尺寸。许多页面速度优化检查器都失败了。

问题:为通过 javascript 提供的图像设置图像尺寸(高度=100,宽度=85)的正确语法是什么?

我已经尝试了下面的示例,但它不起作用:

<script>COT("https://www.mywebsite.com/system-images/cot_evssl.gif", "width=100", "height=85","SC2","none");</script>

【问题讨论】:

  • 您能发布为 EV-SSL 徽标提供服务的脚本吗?仅供参考,页面速度优化检查器可能专注于初始页面加载,此时没有尺寸的图像会减慢速度。在您的情况下,由于图像是由 javascript 写入的,因此它总是比普通图像慢(即使只有一点点)。你可以用一些 jQuery 包围它,以确保它等到文档准备好,但它仍然需要一瞬间。
  • 你会用JQuery吗? $("yourSelector").on("load", function() {$("yourSelector").css({"height":100, "width":85})}) 其中yourSelector是图片。跨度>
  • 这里是“comodo_cot.js”的内容:pastebin.com/714siGxs
  • 我想我明白您在说什么:您在页面上包含该脚本,当它运行时,它会打印图像,但会忽略尺寸。那是对的吗?如果是这样,我不确定你是否能够让他们的系统用尺寸打印它。您为获得尺寸所做的任何事情都必须在打印到您的页面上之后进行。因此,就加快速度而言,这将毫无用处。浏览器在打印图像时就已经确定了尺寸。

标签: javascript html image ssl


【解决方案1】:

你可以创建一个新的图像DOM元素,将脚本中接收到的url作为src,然后从img标签中获取尺寸,有点像这样:

function getDimenions(imgURL) {
   var img = new Image();
   img.src = imgURL;
   img.onLoad = function(){
     console.log(this.height);
     console.log(this.width);
   }
 }

您将不得不解决加载图像是异步工作的事实,但这就是要点。

【讨论】:

  • 我知道尺寸,它们不会改变 - 它始终是 100x85 像素,因此无需动态读取它们。 .GIF 文件在我的服务器上,但 SSL 提供商 (Comodo) 的 Javascript 添加了显示 SSL 信息的覆盖层。
  • 我知道尺寸,它们不会改变 - 它始终是 100x85 像素,因此无需动态读取它们。 .GIF 文件在我的服务器上,但 SSL 提供商 (Comodo) 的 Javascript 添加了显示 SSL 信息的覆盖。问题是我需要在最终的 HTML 渲染中添加尺寸,所以它显示为:mysite.com/system-images/cot_evssl.gif" height="100" width="85">
猜你喜欢
  • 1970-01-01
  • 2015-08-28
  • 1970-01-01
  • 1970-01-01
  • 2010-11-21
  • 1970-01-01
  • 2018-07-15
  • 1970-01-01
相关资源
最近更新 更多