如果在页面中定义变量,我如何检入JavaScript?假设我想检查一个名为"x"的变量是否在页面中定义,如果我这样做if(x != null),它会给我一个错误.
如果我有这样的脚本标记:
<script
id = "myscript"
src = "http://www.example.com/script.js"
type = "text/javascript">
</script>
Run Code Online (Sandbox Code Playgroud)
我想获取"script.js"文件的内容.我正在考虑类似document.getElementById("myscript").text但在这种情况下它不起作用.
我正在尝试编写一个JavaScript函数,它将返回其第一个参数(函数),其所有其余参数作为该函数的预设参数.
所以:
function out(a, b) {
document.write(a + " " + b);
}
function setter(...) {...}
setter(out, "hello")("world");
setter(out, "hello", "world")();
会两次输出"你好世界".对于setter的一些实现
我在第一次尝试时遇到了操纵arguments数组的问题,但似乎有更好的方法来做到这一点.
我需要运行一个JavaScript函数onLoad(),但只有在第一次加载页面时才会这样做(即不是回发的结果).
基本上,我需要在JavaScript中检查IsPostBack.
谢谢.
根据规范,只有BODY和FRAMESET元素提供了一个"onload"事件来附加,但我想知道什么时候动态创建的DOM元素已经添加到JavaScript中的DOM.
我目前正在使用的超级天真的启发式方法如下:
我所追求的是确认我正在做的事情是足够的(再次,它在IE7和FF3中工作)或更好的解决方案,无论出于何种原因,我完全忘记了; 也许我应该检查其他属性等.
编辑:我想要一个与浏览器无关的方法,不幸的是,我并不住在一个浏览器的世界里; 也就是说,浏览器特定的信息是值得赞赏的,但是请注意哪个浏览器知道它确实有效.谢谢!
在JavaScript中,"this"运算符可以在不同的场景下引用不同的东西.
通常在JavaScript"对象"内的方法中,它引用当前对象.
但是当用作回调时,它将成为对调用对象的引用.
我发现这会导致代码出现问题,因为如果你在JavaScript"对象"中使用一个方法作为回调函数,你无法判断"this"是指当前的"对象"还是"this"是指调用对象.
有人可以澄清如何解决这个问题的用法和最佳实践吗?
function TestObject() {
TestObject.prototype.firstMethod = function(){
this.callback();
YAHOO.util.Connect.asyncRequest(method, uri, callBack);
}
TestObject.prototype.callBack = function(o){
// do something with "this"
//when method is called directly, "this" resolves to the current object
//when invoked by the asyncRequest callback, "this" is not the current object
//what design patterns can make this consistent?
this.secondMethod();
}
TestObject.prototype.secondMethod = function() {
alert('test');
}
}
Run Code Online (Sandbox Code Playgroud) 我在这里阅读了关于在密集DOM处理(使用JavaScript)期间使用setTimeout()的帖子,但是如何将此函数与下面的代码集成?以下代码适用于少量选项,但当选项数量太大时,我的"请等待"动画GIF会在本地JavaScript处理时冻结.谢谢!
function appendToSelect() {
$("#mySelect").children().remove() ;
$("#mySelect").html(
'<option selected value="' + obj.data[0].value + '">'
+ obj.data[0].name
+ '</option>'
);
var j = 1 ;
for (var i = 1; i < obj.data.length; i++) {
$("#mySelect").append(
'<option value="' + obj.data[i].value + '">'
+ obj.data[i].name
+ '</option>'
);
}
}
Run Code Online (Sandbox Code Playgroud) 我制作了一个SVG图像,或者更像是迷你应用程序,用于查看数据图形.我想将它包含在HTML页面中,并调用SVG图像上的方法.
例:
<object id="img" data="image.svg" width="500" height="300"/>
<script>document.getElementById("img").addData([1,23,4]);</script>
Run Code Online (Sandbox Code Playgroud)
是否可以在SVG文档上调用方法?如果是这样,我如何声明要在SVG文件中公开的方法,以及如何从HTML文档中调用它们?
我与一些同事进行了讨论,提到我们没有太多项目可以利用WPF为Windows应用程序创建UI(我们几乎总是使用Windows Forms).
我有一些代码这样做:
var changes = document.getElementsByName(from);
for (var c=0; c<changes.length; c++) {
var ch = changes[c];
var current = new String(ch.innerHTML);
etc.
}
Run Code Online (Sandbox Code Playgroud)
这适用于FF和Chrome,但不适用于IE7.大概是因为getElementsByName在IE中不起作用.什么是最好的解决方法?