【问题标题】:Is there a way to hide window properties?有没有办法隐藏窗口属性?
【发布时间】:2016-04-05 01:55:13
【问题描述】:

我今天浏览了一个网站,http://www.riverfronttimes.com/,我发现了一些非常有趣的东西,让我大吃一惊。我不得不问你们。

有趣的是我无法获得窗口高度和宽度属性。例如:

$(window).width();
$(window).height();

我一直收到错误:

VM1733:2 Uncaught TypeError: $(...).width is not a function(…)

为什么会这样,属性是隐藏的吗?我可以为我的网站这样做吗? 这有什么好处吗?

我什至尝试过使用纯 javascript,但无法获得高度和宽度。

这让我很好奇。

感谢您的信息。

【问题讨论】:

    标签: javascript jquery html frontend development-environment


    【解决方案1】:

    您假设该页面上可用的$ 是jQuery,但事实并非如此。如果是这样,您可以从控制台执行 $.fn.jquery 并获取版本。

    虽然他们确实在页面上加载了 jQuery,但 $ 并没有绑定到它。这可以通过输入$ === jQuery 来查看,它返回false。通常,它会返回true

    如果你想使用他们的 jQuery,你可以这样做:

    jQuery(window).width();
    

    【讨论】:

    • 我明白了,我输入了 jQuery.length,因为我看到了那个和我使用的其他 jQuery 方法,我确实假设它是附加到 $ 的 jQuery。同时jQuery.height和width都不存在。
    • @nyhunter77 对 jQuery 集合进行操作的 jQuery 函数在jQuery.fn 下,而不仅仅是jQuery
    • 啊,是的!我不记得了。感谢您的提醒。 bonk 击中我的头。 jQuery(window).width() 工作正常。我正在编写一些必须检查窗口宽度的代码,我认为使用 jQuery 而不是 $ 的这种方式会覆盖更多的基础。 - 纯JS,window.innerWidth;我猜这会涵盖更多,但它们之间似乎有 15px 的差异。这应该无关紧要,但你会碰巧知道为什么会这样吗?谢谢!
    • @nyhunter77 可能是滚动条。 window.innerwidth 不包括它,但 $(window).width() 可能。
    • 再次感谢,我认为情况正好相反。欣赏伟大的信息
    猜你喜欢
    • 1970-01-01
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-18
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    相关资源
    最近更新 更多