当前位置: 首页 > 知识库问答 >
问题:

ESLint no-undef-js问题与BigCommerce

须景胜
2023-03-14

我在一个.js文件中得到了这段代码,我正在通过ESLint运行它。但是它抛出了一个关于这行的错误:iframesize({)。

说明:定义错误“iframesize”无未定义

如果我这样定义它:const iframesize()

我的代码不再工作,我如何让ESLint高兴并保持代码工作?

export default class Page extends PageManager {

before(next) {
    next();
}

loaded(next) {
    next();
}

after(next) {
    const url = Url.parse(location.href, true);
    const IC_PAGE = '/international-checkout';
    const currentPageUrl = url.pathname;
    if (currentPageUrl.indexOf(IC_PAGE) !== -1 && $('#icForm').length === 1) {
        $(document).ready(() => {
            if ($('#icForm').length === 1) {
                if ($('.GiftStatus') && $('.GiftStatus').val() === '1') {
                    alert('Gift Certificate is not available for international orders. Please remove Gift Certificate from shopping cart before proceeding with International Checkout.');
                    window.parent.location.href = '/cart.php';
                    return false;
                }
                $('.icformfields').each((i, e) => {
                    const currentId = $(e).attr('id');
                    const res = currentId.split('-');
                    const finalId = Number(res[1]) + 1;
                    const finalName = $(e).attr('name') + finalId;
                    $(e.currentTarget).attr('name', finalName);
                });
                document.getElementById('icIframe').src = 'https://www.internationalcheckout.com/cart.php';
                document.getElementById('icForm').submit();
                $('#icIframe').load(() => {
                    $('#icForm').remove();
                    $('#loading').css('display', 'none');
                    $('html, body').animate({
                        scrollTop: $('#icIframe').offset().top,
                    }, 1000);
                    $('#icIframe').fadeIn();
                });
            }
        });
        iFrameResize({
            checkOrigin: false,
            enablePublicMethods: true,
        });
    }
    next();
}

}

我想知道如何在不禁用特定行的错误报告的情况下满足ESLint。

共有2个答案

刘元青
2023-03-14

如果您确定代码正在处理iframesize(),并且可能是由于您使用js文件设置的体系结构,您可能只想忽略该错误。最简单的是

// eslint-disable-line

这将禁用该行的esilnt。

由于此函数定义来自可能将其附加到全局作用域(即window)的库,因此从该作用域调用它就可以了

window.iFrameResizer()

现在eslint知道您正在调用驻留在window对象上的函数,所以它不会抱怨

林英锐
2023-03-14

还值得注意的是,eslint提供了多种解决方法。请参阅eslint文档。

我建议将以下内容添加到您的文件顶部。使用此方法定义仅在几个地方使用的全局依赖关系:

/* global iFrameResize */

您还可以提供一个阵列:

/* global iFrameResize, iFrameManage, etc */

如果您经常使用iFrameResize,或者如果您依赖于jQuery之类的东西,请考虑在您的. eslintrc文件中将其定义为全局。

"globals": {
    "iFrameManage": true,
}
 类似资料:
  • 描述 (Description) 此函数取决于EXPR的值。 在标量,列表,散列,函数或类型上使用。 在带有诸如undef $ hash {$ key}之类的语句的哈希上使用; 实际上将指定键的值设置为未定义的值。 如果要从哈希中删除元素,请使用delete函数。 语法 (Syntax) 以下是此函数的简单语法 - undef EXPR undef 返回值 (Return Value) 此函数返

  • 本文向大家介绍 Js和native交互的方法与问题 相关面试题,主要包含被问及 Js和native交互的方法与问题 时的应答技巧和注意事项,需要的朋友参考一下 实现JS和Native交互有两种方式: 第一种:shouldOverrideUrlLoading(WebView view, String url) 通过给WebView加一个事件监听对象(WebViewClient)并重写shouldOv

  • 本文向大家介绍详解 WebView 与 JS 交互传值问题,包括了详解 WebView 与 JS 交互传值问题的使用技巧和注意事项,需要的朋友参考一下 随着混合开发模式比较流行,很多时候,我们需要在原生的基础上,使用 WebView 加载网页,这样控制更加方便。今天我们来看看,如何将 Java 对象 和 List 集合传值给 JS 调用。 如何将 Java 对象实例传值给 JS 其实将我们在 An

  • 问题内容: 当我出于某种原因尝试利用http流连接时,直到我调用response.end() 时,写入才会刷新,我 直接从演示中获取代码,并且不了解我的问题是什么。 当我卷曲到服务器时,标题是正确的。 为什么服务器不发送写数据? 问题答案: 我似乎是浏览器特有的行为-Firefox会立即显示数据(“ Hello:”),而Chrome似乎会缓冲并等待响应结束。请注意,如果您一开始写入更多数据,chr

  • 问题内容: 我不明白注释和之间的实际区别是什么? 扩展名还是它们具有完全不同的含义?什么时候应该使用它们?在服务层中使用Spring ,在DAO 中使用javax? 谢谢回答。 问题答案: 几年前,Spring定义了自己的Transactional注释以使Spring bean方法具有事务性。 Java EE 7终于做了同样的事情,现在除了EJB方法外,还允许CDI bean方法是事务性的。因此,

  • 当我用我的节点运行MongoDB连接时。js应用程序哪个游戏平台我在这里面临着越来越多的MongoDB连接的问题[不使用任何查询,但它不断增加],达到819,我的MongoDB复制服务器停止响应,间接应用程序停止工作。但是我想保持至少20个关于如何解决这些问题的联系,请帮助我。 ** Mongodb连接:const connectionString=mongodb://AAAA:PASSWORD@