Ali*_*tad 4 javascript printing window call apply
好的,我在网上看了很多,但找不到答案.
我可以期待浏览器之间的CSS差异,但也存在JavaScript差异?
那么为什么这在IE8中有效:
window.print(); // works
Run Code Online (Sandbox Code Playgroud)
但是当我传递window.print
给函数并调用它时,它在IE8中不起作用(在IE9中工作):
function callIt(f){
f.call();
};
callIt(window.print);
Run Code Online (Sandbox Code Playgroud)
这是一个已知的问题吗?
好吧它不起作用意味着它会简单地忽略它,没有javascript错误或任何东西.
抱歉,它出现此错误:
Object doesn't support this property or method
Run Code Online (Sandbox Code Playgroud)
我需要使用call
或apply
因为我需要传递上下文.我正在尝试创建一个可以传递函数的类,它可以调用它来传递上下文或参数.不要告诉我使用f()
这不是一个答案,因为它不能解决我的问题.问题是call
和apply
.
小智 10
似乎window.*
函数是独立的类型而不是IE <9中的用户创建的函数.因此,它们没有得到任何Function.prototype.*
.你会看到的
typeof alert === 'object'
function a(){}
typeof a === 'function'
Run Code Online (Sandbox Code Playgroud)
任何window.*
功能都会发生这种情况.仅限IE <9.WTG Miscrosoft.
不过你可以试试
Function.prototype.call.call(window.print)
Run Code Online (Sandbox Code Playgroud)
看看它是否适合你.
归档时间: |
|
查看次数: |
7686 次 |
最近记录: |