JavaScript中的方法window.location.href
和window.open ()
方法有什么区别?
有没有办法在javascript中找出所有用户定义的窗口属性和变量(全局变量)?
我尝试了,console.log(window)
但列表是无止境的.
javascript代码window.location是否在所有新旧STANDARD POPULAR浏览器中都有效?
可以在这个小片段中看到该行为(将其作为全局脚本执行):
var name = {};
name.FirstName = 'Tom';
alert(name.FirstName);
Run Code Online (Sandbox Code Playgroud)
undefined
Chrome中的警报产生但可以在IE和Firefox中使用.当我这样做时,我也得到一个奇怪的价值
alert(name);
Run Code Online (Sandbox Code Playgroud) var shell = function (method) {
window[method].apply(null, Array.prototype.slice.call(arguments, 1));
};
shell('alert', 'monkey!');
Run Code Online (Sandbox Code Playgroud) 我正在使用Qt的QWebView,并且已经发现了许多用于添加到webkit窗口对象的很多用途.
我想做的一件事是嵌套对象......例如:
在Javascript我可以...
var api = new Object;
api.os = new Object;
api.os.foo = function(){}
api.window = new Object();
api.window.bar = function(){}
Run Code Online (Sandbox Code Playgroud)
显然在大多数情况下,这将通过更多的OO js框架来完成.
这导致了一个整洁的结构:
>>>api
-------------------------------------------------------
- api Object {os=Object, more... }
- os Object {}
foo function()
- win Object {}
bar function()
-------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
现在我能够使用我需要的所有qtC++方法和信号扩展窗口对象,但它们都"似乎"必须在"窗口"的根子项中.这迫使我编写一个js包装器对象来获取我想要在DOM中的层次结构.
>>>api
-------------------------------------------------------
- api Object {os=function, more... }
- os_foo function()
- win_bar function()
-------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)
这是一个非常简单的例子......我想要参数的对象等...
有没有人知道使用扩展WebFrame窗口对象的对象传递子对象的方法?
这是我如何添加对象的一些示例代码:
mainwindow.h
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QtGui/QMainWindow>
#include <QWebFrame>
#include "mainwindow.h"
#include "happyapi.h"
class QWebView; …
Run Code Online (Sandbox Code Playgroud) 通常在我的.ts
文件中,我可以通过调用以下内容来访问窗口对象:
(<any>window).myObject
Run Code Online (Sandbox Code Playgroud)
我在我的.tsx
文件中收到了编译错误.有什么办法可以从.tsx
文件中访问它吗?
谢谢.
根据开发人员指南,我应该能够从Angular表达式中访问浏览器窗口$window
.
与JavaScript不同,其中names默认为全局窗口属性,Angular表达式必须使用$ window来引用全局窗口对象.例如,如果要调用窗口中定义的alert(),则必须在表达式中使用$ window.alert().
但是我似乎无法$window
从使用的表达式访问$scope.$eval
.以下是我在登录控制台时获得的一些输出:
console.log($window); // the Window object as expected
console.log($scope.$eval('$window')); // undefined
console.log($scope.$eval('1+1')); // 2
console.log($scope.$eval('scopeVar')); // 'abc'
Run Code Online (Sandbox Code Playgroud)
控制器具有$window
依赖性.我可以从表达式访问范围变量和其他服务但不能$window
,因此$scope.$eval($window.alert())
也不起作用.
我在这里错过了什么?
我的要求是当我点击下载文件时,会打开新标签.如果该文件存在,它将开始下载,如果不存在,它应该关闭新选项卡并显示错误消息.
我用过
window.close()
Run Code Online (Sandbox Code Playgroud)
它工作正常.除此之外,IE11要求确认:
"您正在查看的网页正在尝试关闭该标签.您要关闭此标签吗?"
这会中断系统的功能,用户不知道它为什么会发生.
对此有何解决方案?
我已经说明了整个场景,以便您可以为任何阶段提供解决方案.
谢谢.
internet-explorer download window-object window.closed internet-explorer-11
在调用我的函数之后,我惊讶于我的函数没有因为有一个变量并且在函数范围内使用未定义的变量而引发错误.
我的问题:为什么我的函数没有抛出未定义,错误等?不应该抛出错误因为"长度"不在我的函数参数中吗?我知道,如果我将"长度"切换到"高度",它将起作用.
如果有人可以解释javascript如何逐步解释这个功能,这对我有帮助.这是我的代码:
function areaRectangle(width, height) {
aRectangle = width * length;
console.log("The area of the rectangle is: " + aRectangle);
}
areaRectangle(10, 7); # The area of the rectangle is: 0
Run Code Online (Sandbox Code Playgroud) window-object ×10
javascript ×8
angularjs ×1
apply ×1
browser ×1
dom ×1
download ×1
evaluate ×1
function ×1
global ×1
href ×1
location ×1
object ×1
properties ×1
qt4 ×1
qwebview ×1
typescript ×1
window ×1