草庐IT

思维方式

全部标签

javascript - 使用 Prototype 或 jQuery 实现 .lastChild 的最佳方式

目前我们使用prototype和jQuery作为我们的js框架。现在,jQuery设置为$j()以防止原型(prototype)冲突。过去,我们大量使用原型(prototype)的Element.down()、Element.next()和Element.previous()来遍历DOM。但是,我需要一种简单的方法来检索最后一个子元素。我知道我可以使用Element.childElements()遍历一个数组,但我想要一些内联的东西,它可以清晰地读取并且可以进行流水线处理。只是想在重新发明轮子之前先问一下。下面是一段代码,其中包含需要替换的lastChild:_find:functio

javascript - 如何让我的网络浏览器以编程方式说话?

是否可以让网站以编程方式向用户传达欢迎信息?假设我想在成功登录我的网站后向用户打招呼。我知道我可以录制问候消息(即作为MP3)并播放,但我希望能够以编程方式执行此操作,因为所有用户的名称都会不同。例如,我可能想说Welcome,JohnDoe当JohnDoe登录时。我怎么能用普通的javascript做到这一点?注意:这不打算在生产系统中使用,而是打算用作更大的UX实验的一小部分。 最佳答案 对于window.speechSynthesis.speak()要在Chromium浏览器上呈现音频输出,用户需要拥有speech-dispa

javascript - 如何在 jqgrid 或其他方式中以编辑形式显示只读字段以显示只读列中的整个文本

jqGridcolModel包含使用以下属性定义的只读多行列。内容行长大于列宽,文本太长,以至于tooltio无法显示其全部内容。无法查看全部内容。我正在寻找一种允许用户查看整个栏目内容的方法。例如,如果按下编辑表单按钮,则此列内容应在编辑表单中显示为只读文本区域。但是,只读列不会出现在编辑表单中。如何让用户看到整个栏目内容?colModel:[{"name":"LoggedLongText","editable":false,"width":539,"classes":"jqgrid-readonlycolumn","fixed":true,"hidden":false,"searc

javascript - JavaScript 中良好的范围界定方式

我不是一个非常好的JavaScript用户,但我可以用它完成工作。我对我用JavaScript编写的代码并不感到自豪,所以我决定改变它。这是我的第一步:我正在尝试为一个项目创建我自己的库,下面是初始结构。window.fooLib={};(function(foo){"usestrict";foo.doSomeStuff=function(param1){console.log(newAccommProperty(param1));}//someinternalfunctionfunctionAccommProperty(nameValue){var_self=this;_self.n

javascript - 以编程方式修复 IE 中的浏览器模式

我的网站在包括IE7到9在内的所有浏览器上完全兼容当我在IE-10上尝试时我很震惊,错误太多,而且因为我没有时间为IE-10修复这个问题而且我也在使用第三方控件“Telerik”,我决定尝试一个简单的将Document和浏览器模式调回ie9即可解决。在IE-10的开发人员工具中,如果我手动将文档模式设置为IE9标准并将浏览器模式设置为IE9,所有错误都会消失,我找到了一种强制IE-10使用文档的方法模式:但是浏览器模式呢?有没有办法在渲染之前设置它的值?解决方案:我在这个问题中使用的方式是正确的,但是我的解决方案是更新托管服务器中的窗口,有很多更新,怀疑是:适用于WindowsServ

javascript - 在 vanilla Javascript 中以编程方式触发 keydown 事件

我在keydown上运行的窗口附加了一个事件。我想通过以编程方式敲击键盘上的键的例程(每个间隔)来测试这一点。以下代码不起作用-但如果我实际按下键盘上的某个键,则可以正常工作。我最初尝试过:varevt=document.createEvent("KeyboardEvent"); setInterval(function(){evt.initKeyEvent("keydown",true,true,window,false,false,false,false,13,13);},500);这是我当前的keydown事件:window.addEventListener('keydown',

javascript - D3.js - 以编程方式在 Jasmine 中生成拖动事件

我有一个使用D3和Angular编写的折线图组件。它具有用于更改x轴比例的可拖动条。现在我正在尝试使用Karma/Jasmine测试组件。我在单元测试中无法触发拖动事件。鼠标悬停和单击等其他事件也可以正常触发。我认为这是导致问题的d3中“拖动”事件的综合实现。这是我用来触发拖动的代码(此类代码在测试html页面上触发正确的d3拖动事件,但在单元测试中失败)。varleftBar=element.find(".left-bar")[0];varevObjStart=document.createEvent("MouseEvents");evObjStart.initMouseEvent(

javascript - Webpack 和以编程方式注入(inject)的内容脚本

我正在使用React和Webpack开发Chrome扩展程序。在此项目中,不同的模块将使用chrome.tabs.executeScript(null,{file:'content-script-file.js'})以编程方式注入(inject)内容脚本。这就成了问题,因为我使用Webpack来捆绑所有内容。基本上,后台脚本加载了一些模块,这些模块都配置为在特定情况下以编程方式注入(inject)内容脚本。但是,我不知道如何在捆绑的应用程序中“找到”这些内容脚本。它们从未被显式导入,只是在executeScript调用中被引用。同时contentscripts使用了React,所以需要

javascript - 以编程方式填充 ReactJS 输入的正确方法

我正在构建一个运行JavaFXWebkit的headless爬虫,它肯定没有chrome的v8强大。但是我最近遇到了一些问题,我试图输入一个值来对呈现的输入字段使用react。这是我到目前为止所做的但失败了。[注意:我无法控制源代码/React代码。因为我正在尝试抓取目标网站]jQuery-$('input.r_input').val("2");VanilaJS-document.querySelector("input.r_input").value="2";通过jquery触发器触发更改事件-change、blur、keyup、keydown等。创建一个手动事件,例如:event=

javascript - 如何以编程方式在 DataTables 中打开多行

我以为这个问题会得到解答,但我无法解决这个问题。尝试过:https://datatables.net/forums/discussion/25833/is-there-any-way-to-programmatically-select-rowshttps://datatables.net/reference/api/row().select()我在serverSide中使用DataTables1.10.16|模式-我的数据是通过ajax加载的,而不是在页面加载时加载的。我的标记只是一个带有ID#substancesTable的表格:IDECCASName加载数据的js如下:varsu