javascript with()函数获胜'我不适合歌剧、Chrome或Brave
javascript with() function won't work in Opera, Chrome or Brave
我继承了一个使用js-win()函数的HTML表单:
with (document.images.myImage.style) {
left = x + "px";
top = y + "px";
visibility = "visible";
}
此代码根据左侧/顶部设置在图形上"移动"图像。
移动在Firefox、IE和Edge中是正常的,但在其他浏览器中则不然。。。我对js不够熟悉,无法重新编码,所以它适用于所有浏览器。
有人对如何重新编码有建议吗?
with
是一个语句,类似于for
循环,而不是函数。with
允许您引用对象的属性,而无需每次都键入对象名称。
with(myObj) {
x = y;
}
与相同
myObj.x = myObj.y;
但它在严格模式下是不允许的,也不应该在非严格模式下使用(这往往是很多错误的来源)。因此,要翻译任何with
代码,只需将来自对象的任何值加上实际对象的前缀即可。
document.images.myImage.style.left = x + 'px';
document.images.myImage.style.top = y + 'px';
document.images.myImage.style.visibility = 'visible';
with(expression)
将expression
添加到with语句内的块的作用域搜索链中。
我能想到的最直接的替代方法是给document.images.myImage.style
分配一个变量,并在每一行前面加上它。所以…
var style = document.images.myImage.style;
style.left = x + "px";
style.top = y + "px";
style.visibility = "visible";
感谢您提供的所有信息。
我最终做的是按照"Mike C"的建议,用"document.images.style.xxx="语句替换了with()语句。
到目前为止,它在我能找到的所有浏览器中都能找到。
同样,这个论坛在让你了解别人所知道/已经发现的方面令人惊叹。。。再次感谢你的帮助。
相关文章:
- html5 drawImage适用于firefox,而不是chrome
- ResolveUrl没有'我似乎不适合当链接到具有动态虚拟目录的外部javascript文件时
- 导航菜单不适合移动浏览器
- jQuery不在Chrome中运行,在FF中工作
- 一系列下拉菜单,由jQuery提供支持,隐藏和显示,但不在Chrome中
- 如何解决不适合的分页输出
- 哪个webpack开发工具适合chrome应用程序
- Javascript返回内容/字符串;不适合UIWebView的给定宽度和高度
- javascript with()函数获胜'我不适合歌剧、Chrome或Brave
- Three.js效果使用firefox但不使用chrome
- 如何在不访问chrome商店的情况下直接安装扩展
- 阻止选择在IE中工作但不在Chrome中工作的文本
- 选项卡' '在不使用Chrome的警告框中
- 删除属性后刷新DOM,而不象chrome那样刷新页面
- 潜水者不适合放在他们的容器里,他们增加了像素
- 为什么Foundation 4 Orbit不适合我
- CKEditor allowerContent = true 根本不适合我
- 文本区 |val().length 不计算 chrome 中的“输入/换行符”
- Onscroll功能不适合Chrome
- windows .close(), java脚本方法不适合chrome