草庐IT

video_dom

全部标签

javascript - 如何获取 DOM 元素的尺寸,减去边框和填充?

如何获取的内容框大小(或任何其他元素)使用纯JavaScript?我所说的内容框不是指div内文本的大小,而是指元素的屏幕大小减去边框和填充。这是我在Chrome开发者工具中看到的。我只想要JavaScript中的蓝色部分(720x540)。我的问题offsetHeight公司是他们返回图形中黑色实心矩形的尺寸(很难看到-在边距和边框之间)。请注意width和heightCSS属性可以设置也可以不设置;无论如何我都想要尺寸。进一步注意,填充和边框可能一致也可能不一致(例如,它可能只有一个边框)。 最佳答案 element.clien

javascript - 如何仅使用 DOM 对象获取 leaflet.js 实例?

我现在正在构建自定义Knockout.js绑定(bind)来处理多边形的绘制。在这种情况下,KnockoutAPI只给我一个DOM对象的引用,以访问我需要更新的任何内容。然而,看起来leaflet.js的设计是希望用户在他们的实现中存储map实例。我没有那个选项。尝试这个给了我一个错误:varexistingMap=L.map('aMapIDGoesHere')错误是:mapalreadyinitialized。有什么方法可以使用DOM元素或元素ID来访问map实例?根据要求,这是自定义绑定(bind),请注意这是一项正在进行的工作:ko.bindingHandlers.leaflet

javascript - phantomjs 使用 src 图像在 canvas.toDataURL 上抛出 DOM 异常 18

我正在尝试使用phantomjs将svg转换为png图像:varpage=require('webpage').create();page.evaluate(function(){varsvg='';varsrc='data:image/svg+xml;base64,'+window.btoa(unescape(encodeURIComponent(svg)));varimg=newImage();img.src=src;img.onload=function(){varcanvas=document.createElement('canvas');canvas.width=img.w

javascript - 如何在插入 DOM 时重新编译指令(angularjs)

好的,所以我创建了一个指令让我们说它按照我的预期进行渲染,所以一切正常。现在,我的问题是插入DOM时如何(重新)渲染它?我不想一直在我的页面上使用它,我只想动态添加它并在需要时呈现它(它是模块的一部分),比方说,理想情况下我希望它看起来像$("body").append("")如何使用angularjs实现这一点? 最佳答案 你需要在任何你想将指令元素注入(inject)DOM的地方写下两行,不要忘记在你使用的任何地方添加$document&$compile依赖vartemplate='',body=$document.find('

javascript - 我的 DOM 中的 Google Analytics(分析)像素在哪里?

我如何使用JavaScript识别已发送GoogleAnalytics(分析)像素(或与此相关的任何像素)并包含我正在寻找的URL参数?我想,因为它是一个跟踪像素,我可以在DOM中查找它,但它看起来不像是插入过的。有人能想出一种方法来分析google使用javascript(不是chrome扩展程序)发出的网络请求吗?有点像document.whenGooglePixelIsSentDoReallyCoolStuff(function(requestUrl){}); 最佳答案 一些事情:1)跟踪信标并不总是像素。有时他们是XHR,有

javascript - react-dom 爆出 webpack 包的大小

这一定是我遇到过的最奇怪的webpack问题之一......查看此bundle分割:react116.01KB-足够公平react-dom533.24KB-真的是WTF我认为这可能是我的依赖项中的一个损坏,但核对node_modules并重新安装没有任何效果。我想这与webpack捆绑它的方式有关,但我迷失了想法。我处理.js导入的方式非常标准。//webpack.config.jsconstpath=require('path');//constBundleAnalyzerPlugin=require('webpack-bundle-analyzer').BundleAnalyzer

javascript - 是否有任何工具可以按 DOM 结构比较 HTML 文档?

我想比较两个HTML文档,并想知道它们是否相同。但仅按DOM结构进行比较,这意味着忽略标签中属性的顺序,例如,是一样的。 最佳答案 DOMLevel3Core提供方法isEqualNode()比较内容给出一个解析的DOM节点。Firefox、Chrome、Safari和IE9支持此功能,但Opera或更早版本的浏览器不支持。如果您需要其他浏览器的支持,则必须自己实现。这是JS中的部分实现:functionNode_isEqualNode(that,other){//Usenativesupportwhereavailable//if

javascript - 使用 DOM 元素作为 javascript 映射的键

我正在尝试将一些“私有(private)”数据与DOM元素相关联。我没有将该数据添加到DOM元素本身(我想避免更改DOM元素),而是有一个单独的数据对象,我想将其用作map。而不是:document.GetElementById('someElementId').privateData={};我想做internalPrivateDataMap[document.GetElementById('someElementId')].privateData={};并不是所有的元素都有id字段,有些是动态创建的,所以我不能用id作为键。这对大多数元素都适用,但对于“a”元素,使用的键似乎是元素的

javascript - Angularjs 指令更新到 DOM 属性值的变化

我一直在为Angularjs开发一个scrollspy模块。我遇到了一个问题,如果页面正在处理动态内容,scrollspy数据(元素位置)很快就会过时。angularjs处理此类问题的方法是什么?任何执行DOM操作的指令$broadcast是否应该是scrollspy模块寻找的事件-允许它重构其位置数据?scrollspy模块是否应该每x秒检查一次scrollHeight的变化并使用$timeout?或者更好的是,有没有一种方法可以绑定(bind)并监视DOM属性值的变化(offsetTop、offsetHeight、scrollHeight等属性,不是数据属性)?更新:Addedco

javascript - 为什么追加到尚未在 DOM 中的元素比使用 javascript 片段更快?

考虑将li附加到ul的这三个版本:原始版本(慢20%):varul=document.getElementById('targetUl');for(vari=0;i使用JavaScript片段(慢4%):varul=document.getElementById('targetUl'),fragment=document.createDocumentFragment();for(vari=0;i追加到尚未在DOM中的元素(快1.26%):varul=document.createElement('ul'),div=document.getElementById('targetDiv')