问题标签 [window-object]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
558 浏览

javascript - window[name] 相当于动态访问 const 和 let 声明

闭包外的旧式 JavaScriptvar声明是全局的(顶级范围),可以在浏览器中从window对象访问。例如,声明var x = 3;可以使用window['x'].

给定声明的名称(字符串),您如何类似地访问constlet声明?

对于上面的例子,你如何获得值721“y”和“z”而不是undefined

摆弄代码:
https ://jsfiddle.net/g78ah6we/

编辑(为清楚起见添加了注释):
1. 虽然不是典型的,但有一些用例,例如在中,有必要仅根据声明的名称访问声明。
2. 只需要读取权限(不会修改任何声明)。
3.window提到对象只是为了展示旧的方式,但这个问题实际上并不是关于使用window对象(或global对象)。

0 投票
0 回答
69 浏览

javascript - 不使用 windows.print() 打印输入文本框的列表

如何打印用户输入文本框。在当前的 jsfiddle 中,我附上了我的演示。我正在使用窗口弹出窗口在新页面中显示当前 HTML 并仅打印显示的项目。如何在当前弹出窗口中显示输入框值?

https://jsfiddle.net/amitk009/xuf29hkr/

0 投票
0 回答
513 浏览

javascript - 对象不支持属性或方法“someMethod”

我在 Windows 10 上的 IE 11 中收到此错误TypeError: Object doesn't support property or method 'someMethod'。我正在使用 React 并调用文件someMethod内部命名componentDidMount的方法Full.js

someMethod方法是在外部src使用 jQuery 的 react 目录外部定义的(而不是像这样在 react 内部)import $ from jquery使用. 我正在按如下方式访问该方法:<script>index.htmlFull.js

这就是我在 IE 11 中遇到错误的地方,上面的代码在 Chrome、Firefox 甚至 Edge 中都可以正常工作,但在 IE 11 中却没有。我尝试在 IEwindow的控制台中点击,但我找不到someMethod但它是显示在 Firefox 和 Chrome 的控制台中。

someMethod方法methods.jscode目录外的src目录中命名的文件中定义,当以以下方式调用此文件中定义的其他方法时,我遇到相同的错误:

这是 IE 关于Javascript Hoisting的问题吗?

PS:core-js在我的项目中安装了polyfill,我也尝试someMethod用以下方式声明方法,但仍然没有运气:

0 投票
0 回答
490 浏览

javascript - 反应:将窗口中的值设置为未定义

我在我的 HTML 中为地理插件设置脚本,将结果分配给窗口,并尝试访问组件中的变量。问题是,在组件中,我可以 console.log(window) 并查看变量,但任何点符号都会导致未定义。

这是我的 HTML 中的脚本:

如您所见,脚本按预期工作。我尝试了两种不同的方法,并将它们都作为示例。

在我的 React 组件中,我使用 ComponentDidMount 方法来检索值并最终将它们设置为状态。

这就是问题所在:我可以控制台窗口并查看所有值,但是当我尝试在其中添加点符号时,我得到了未定义。

所以,我可以看到我需要的窗口变量,我可以在 Window 对象中访问它们。我已经研究过如何使用窗口对象,但这不是问题,因为我可以看到窗口对象中的变量。当我尝试使用它们时,它们只是变得不确定。我也尝试过使用 ComponentWillMount 甚至 UNSAFE_componentWillMount(),但这些都不是问题,因为我正在检索 Window 中的变量。

关于 React 如何工作的任何想法都会导致这个问题,以及我如何进入 Window 来获取变量?

0 投票
0 回答
33 浏览

javascript - Javascript 'this' 运算符

我很难理解为什么这个命令的输出不是 10。

另一方面,当 x 是全局的时,输出确实是 10。

为什么在第一个例子中它不打印'10'?x 是“window”对象的变量,所以“this”应该是window。我在这里想念什么?

0 投票
0 回答
27 浏览

google-chrome-extension - 如何区分弹出窗口是从普通选项卡还是从 chrome 扩展打开的?

我正在开发一个 chrome 扩展应用程序,在这里我从 chrome 扩展应用程序打开一个新窗口(带有 url:xyz.com),并且相同的代码库部署在服务器(url:xyz.com)以及相同的功能(打开新窗口 popop,url:xyz.com)。但无法区分该窗口弹出窗口是从普通选项卡还是从 chrome 扩展打开的。

以下是数据流:

这里 someurl.com 是第三方 url。

在此处输入图像描述

0 投票
1 回答
2513 浏览

angular6 - Angular 6 在库服务中注入窗口令牌

我有一个包含此网站帖子代码的库: https ://brianflove.com/2018/01/11/angular-window-provider/

在我的库中,我还有一项服务,我想在其中访问窗口对象。但是,在构造函数中添加以下内容不起作用:

尝试使用 cli 构建库时,出现以下错误:

收集的元数据包含将在运行时报告的错误:无法解析类型窗口。

我可以将其更改为使用任何类型而不是 Window,或者添加 @dynamic 作为注释,然后它就可以构建了。有没有更好的方法来做到这一点?

我不确定这是否是正确的方法,因为它还依赖于消费者在其主应用程序模块提供程序数组中设置 WINDOW_PROVIDERS。

0 投票
1 回答
990 浏览

javascript - Angular 2+检测关闭窗口

构建完成,我无法检测到关闭窗口。

在我进行构建之前它工作得很好,没有触发 beforeunload 事件。我还尝试在新窗口的组件中放置一个主机监听器:

但这里也有同样的问题。构建完成后,我们不再到达调试器

有人知道我做错了什么吗?感谢您的帮助!

编辑解决方法

0 投票
1 回答
501 浏览

javascript - javascript variable shows in console.log but not in browser output

I am trying to reuse the output of the year variable. I will need to reuse the updated value [based on hashchange] in multiple functions later on. It displays the correct value in the browser console, but it doesn't display in the browser.

0 投票
1 回答
2590 浏览

javascript - window.onstorage 不适用于 Angular

我正在尝试创建窗口事件侦听器,该侦听器必须侦听另一个选项卡中的事件,在该选项卡中打开了同一应用程序的另一个实例。
一些服务:

零件

WinRef

遗憾的是,没有触发 onstorage 事件。是否可以修复此解决方案,或者对于如何在 Angular 中同步两个选项卡有更好的想法?