首页 > 解决方案 > 无法弄清楚我的网上商店发生了什么这些错误?任何人帮助,发布错误内容

问题描述

在此处输入图像描述

不知道这些错误代码是怎么回事,我不明白为什么它说匿名并且它给了我安全问题

标签: securityshopify

解决方案


严格来说,这些是警告(不是错误)。没有任何问题,但有些事情可能运行不理想。警报指出您网站上的代码正在预加载一些资产,但没有立即使用它们。这可能表明您的站点不必要地使用优先资源来引入这些资源。

在警告消息下方,您会看到所谓的“调用堆栈”——它是被调用以到达导致该警告消息的点的函数链。Javascript中有两种函数:命名函数和匿名函数。

命名函数是您通常认为的函数。您使用以下内容声明它:

function doSomething(parameter){
  // Some awesome code here
}

后来称它为:

doSomething(some_input);

然而,在 Javascript 中,我们也可以创建未命名的,也就是匿名的内联函数。这通常用于“回调”函数,或者用作主函数 A 部分的 B 部分的函数,尤其是当 A 部分异步执行某些操作时。

例如,如果我们想获取一个文件,然后在加载后对其进行处理,我们将进行异步文件调用,然后在加载后运行我们的回调函数。如果我们使用像 jQuery 这样的库作为助手来进行调用,我们的代码可能看起来像这样:

function getPageAndDoStuff(url, callback){
  jQuery.get(url, callback)
}


// We can declare a named function to do our stuff...
function justLogIt(html){
   console.log(html);
}
getPageAndDoStuff('/cart', justLogIt);

或者:

// We can just declare an inline anonymous function to do that
getPageAndDoStuff('/cart', function(html){
  console.log(html);
})

后者是许多类型任务的通用设计模式,但您会注意到我们传递的函数没有名称。当发生某些事情时,我们查看调用堆栈以查看已调用函数的顺序以使我们到达该点,我们将打印什么名称?我们链中的每个未命名函数都简单地称为“(匿名)”

回到您发布的图片,您所展示的内容中没有任何内容表明引起严重关注。脚本文件“rocket-loader”可能会预加载一些不需要的资源,因此您可以通过调整“rocket-loader”使用的任何参数来提高网站性能您正在预加载。


推荐阅读