标签: dom

IFRAME加载完成后的Javascript回调?

我需要在IFRAME加载完成后执行回调.我无法控制IFRAME中的内容,因此我无法从那里触发回调.

这个IFRAME是以编程方式创建的,我需要将其数据作为回调中的变量传递,并销毁iframe.

有任何想法吗?

编辑:

这就是我现在拥有的:

function xssRequest(url, callback)
{
    var iFrameObj = document.createElement('IFRAME');
    iFrameObj.src = url;            
    document.body.appendChild(iFrameObj);   

    $(iFrameObj).load(function() 
    {
        document.body.removeChild(iFrameObj);
        callback(iFrameObj.innerHTML);
    });
}
Run Code Online (Sandbox Code Playgroud)

在iFrame加载之前进行此回调,因此回调没有返回数据.

javascript iframe events dom

145
推荐指数
7
解决办法
26万
查看次数

Javascript:如何遍历页面上的所有DOM元素?

我正在尝试遍历页面上的所有元素,所以我想检查此页面上存在的每个元素是否有特殊类.

那么,我怎么说我想检查每个元素?

javascript dom

143
推荐指数
6
解决办法
23万
查看次数

137
推荐指数
3
解决办法
15万
查看次数

元素添加到页面时的事件

这在前面已经讨论过了:如何使用Jquery将元素添加到页面时执行操作?

每当div添加到页面时,响应者建议触发自定义事件.但是,我正在撰写Chrome扩展程序,但无法访问页面源代码.我有什么选择?我想在理论上我可以setInterval()用来不断搜索元素的存在并添加我的动作,如果元素在那里.

javascript dom event-handling change-notification mutation-observers

133
推荐指数
7
解决办法
13万
查看次数

从数据库编译动态HTML字符串

情况

嵌套在我们的Angular应用程序中的是一个名为Page的指令,由一个控制器支持,该控制器包含一个带有ng-bind-html-unsafe属性的div.这被分配给名为'pageContent'的$ scope var.此var从数据库中分配动态生成的HTML.当用户翻转到下一页时,会调用DB,并将pageContent var设置为这个新的HTML,它将通过ng-bind-html-unsafe在屏幕上呈现.这是代码:

页面指​​令

angular.module('myApp.directives')
    .directive('myPage', function ($compile) {

        return {
            templateUrl: 'page.html',
            restrict: 'E',
            compile: function compile(element, attrs, transclude) {
                // does nothing currently
                return {
                    pre: function preLink(scope, element, attrs, controller) {
                        // does nothing currently
                    },
                    post: function postLink(scope, element, attrs, controller) {
                        // does nothing currently
                    }
                }
            }
        };
    });
Run Code Online (Sandbox Code Playgroud)

Page指令的模板(上面的templateUrl属性中的"page.html")

<div ng-controller="PageCtrl" >
   ...
   <!-- dynamic page content written into the div below -->
   <div ng-bind-html-unsafe="pageContent" >
   ...
</div>
Run Code Online (Sandbox Code Playgroud)

页面控制器

angular.module('myApp') …
Run Code Online (Sandbox Code Playgroud)

html dom compilation dynamic angularjs

131
推荐指数
3
解决办法
16万
查看次数

最佳实践:按HTML ID或名称属性访问表单元素?

正如任何经验丰富的JavaScript开发人员所知,有很多(太多)方法可以做同样的事情.例如,假设您有一个文本字段,如下所示:

<form name="myForm">  
    <input type="text" name="foo" id="foo" />
Run Code Online (Sandbox Code Playgroud)

在JavaScript中有很多方法可以访问它:

[1]  document.forms[0].elements[0];
[2]  document.myForm.foo;
[3]  document.getElementById('foo');
[4]  document.getElementById('myForm').foo;
     ... and so on ...
Run Code Online (Sandbox Code Playgroud)

方法[1]和[3]在Mozilla Gecko文档中有详细记载,但都不是理想的.[1]过于笼统而无用,[3]同时需要id和名称(假设您将数据发布到服务器端语言).理想情况下,最好只有一个id属性或一个name属性(两者都有点多余,特别是如果id不是任何css所必需的,并且增加了拼写错误的可能性等).

[2]似乎是最直观的,它似乎被广泛使用,但我没有看到它在Gecko文档中引用,我担心向前兼容性和跨浏览器兼容性(当然我想成为尽可能符合标准).

那么这里最好的做法是什么?任何人都可以指出DOM文档或W3C规范中可以解决此问题的内容吗?

注意我对非库解决方案(jQuery/Prototype)特别感兴趣.

html javascript forms dom

130
推荐指数
6
解决办法
20万
查看次数

如何在页面加载完成之前显示页面加载div

我在我们的网站上有一个部分加载非常慢,因为它正在进行一些密集的调用.
任何想法我怎么能得到一个div类似于"加载"的东西,当页面准备自己然后在一切准备就绪时消失?

html javascript jquery dom

129
推荐指数
5
解决办法
44万
查看次数

如何比较jquery中的两个元素

var a=$('#start > div:last-child');
var b=$('#start > div.live')[0];
alert(a==b)
alert(a==$(b))
Run Code Online (Sandbox Code Playgroud)

这总是错误的.你如何比较jQuery中的两个元素?

谢谢

javascript jquery dom

128
推荐指数
4
解决办法
10万
查看次数

.tagName和.nodeName之间的区别

$('this')[0].nodeName和之间有什么区别$('this')[0].tagName

javascript dom

128
推荐指数
4
解决办法
4万
查看次数

127
推荐指数
10
解决办法
18万
查看次数