小编tec*_*dog的帖子

使用javascript更改AngularJS输入文本值

我正在尝试在浏览器扩展中运行javascript以自动化在网站上填写表单然后单击按钮的过程 - 可以通过在地址栏中键入javascript:code来模拟扩展代码.

我遇到使用问题的网站angularJS.我有输入字段ID的名称,并使用它们来更改输入字段值.字段填满但是当我点击按钮时它表示它们没有填充,没有值,它们都是错误的.正在进行一些验证,除非我手动输入值,否则不会"看到"我的更改.

是否有一种简单的方法来更改仅使用输入字段的id进行验证的AngularJS输入字段的值.

这是代码:

<input id="shippingAddr-first-name" type="text" class="first-name ng-pristine ng-valid" maxlength="16" data-ng-model="addressTypes[addressType].FirstName" focus-me="commonAddressTypeProps[addressType].focusOnFirstName" client-validation="onExit" data-required-on-exit="">
Run Code Online (Sandbox Code Playgroud)

我尝试使用 document.getElementById("shippingAddr-first-name").value="Dave";更改字段但在表单提交期间未正确注册.但是,如果我手动输入它,它确实有效.我也试过click(),blur()并且focus(),模拟我可能手动做的一些事情,但那些也不起作用.

javascript input angularjs

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

带溢出的div上的滚动条:自动和百分比高度

是否可以创建一个调整到浏览器大小的div,也可以滚动?我想用overflow:autodiv和百分比高度90%.

页面的结构是

<body style="height:100%">
<div id=header style="height:100%">headerinfo</div>
<div id=content style="height:100%;overflow:auto">content which is replaced dynamically</div>
</body>
Run Code Online (Sandbox Code Playgroud)

overflow:auto工作没有已知px的某处层次结构中的高度?

html height scroll overflow percentage

7
推荐指数
1
解决办法
2万
查看次数

sendMessage从弹出窗口到content.js不能在chrome扩展中工作

我正在尝试为chrome扩展程序创建一个弹出界面.我似乎无法从popup.html/popup.js向content.js脚本发送消息.这是我到目前为止所拥有的.当我点击扩展图标时,我会看到一个说clickme的按钮.我点击它没有任何反应,chrome javascript控制台没有错误,也没有发送到content.js的消息.

表现

{
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",
  "manifest_version": 2,
  "name": "extensiontest",
  "version": "0.2",
  "content_scripts": [
  {
    "matches": [
      "<all_urls>"
    ],
    "js": ["content.js"]
  }
],
"browser_action": {
  "default_icon": "Beaker.png",
    "default_popup":"popup.html"
},
"background": {
  "scripts": ["background.js"]
},
"permissions": [
    "tabs"
  ]
}
Run Code Online (Sandbox Code Playgroud)

popup.html

<html>
<head></head>
<script src="popup.js"></script>
<body>
<input id="button1" type=button value=clickme>
</body></html>
Run Code Online (Sandbox Code Playgroud)

popup.js

function popup(){
    alert(1);
      chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
    var activeTab = tabs[0];
    chrome.tabs.sendMessage(activeTab.id, {"message": "start"});
  });

button1=document.getElementById("button1");
button1.addEventListener('click', popup)
}
Run Code Online (Sandbox Code Playgroud)

content.js

   chrome.runtime.onMessage.addListener(
      function(request, sender, …
Run Code Online (Sandbox Code Playgroud)

popup sendmessage google-chrome-extension

7
推荐指数
1
解决办法
6674
查看次数

couchdb可以循环吗

couchdb可以循环吗?

假设我有一个兴趣数据库,有 3 个字段 subject1、subject2、subject3。例如,猫、营养、头发或空间、望远镜、光学等。

一个人 (A) 有 10 个兴趣,每个兴趣由 3 个字段组成。

另外 10 个人 B、C、D...有 10 个兴趣,每个兴趣由 3 个主题组成。

当人 A 登录时,我希望系统搜索所有具有匹配兴趣的人。

在 javascript 中,我通常会循环遍历所有兴趣,然后使用两个循环找到匹配的兴趣。然后将匹配项存储在用户的另一个数据库中,例如“matchinginterests”。

与 mysql 相比,在 couchdb 中是否有任何简单的方法可以做到这一点——这看起来非常复杂。

谢谢,丹

mysql loops for-loop couchdb

3
推荐指数
1
解决办法
1763
查看次数

在javascript中用多个分隔符分割方程字符串,并保留分隔符,然后将字符串重新组合在一起

我有一个公式我想通过使用运营商拆分+,-,/,*作为分隔符.然后我想改变一个项目并将等式重新组合在一起.例如,等式可以是

 s="5*3+8-somevariablename/6";    
Run Code Online (Sandbox Code Playgroud)

我以为我可以使用正则表达式来区分方程式.

    re=/[\+|\-|\/|\*]/g
var elements=s.split(re);
Run Code Online (Sandbox Code Playgroud)

然后我会更改一个元素并将其重新组合在一起.但是除非我能以某种方式跟踪每个分隔符以及何时使用它,否则我无法将其重新组合在一起.还有其他正则表达式工具吗?

javascript split delimiter

3
推荐指数
1
解决办法
3731
查看次数

javascript如何排序包含NaN的数组

我正在尝试对有时具有无穷大或NaN的数组进行排序.当我使用标准的javascript array.sort()它似乎排序,直到它达到NaN然后我得到随机结果.

var array =[.02,.2,-.2,Nan,Infinity,20];
Run Code Online (Sandbox Code Playgroud)

有没有办法对此进行排序,以便最终结果从负到正,并且最后仍然有NaN或无穷大.

-.2,.02,.2,20,NaN,Infinity
Run Code Online (Sandbox Code Playgroud)

javascript arrays sorting nan

2
推荐指数
3
解决办法
3746
查看次数

javascript正则表达式替换Math.cos的麻烦

我想用一些math函数替换Math.sin.这就是我尝试过的.我希望结果Math.cos将被替换为Math.sin

  re=/[Math\.cos|Math\.tan]/g;
  s="Math.cos(0)+Math.cos(0)";
  s=s.replace(re,"Math.sin");
  alert(s);
Run Code Online (Sandbox Code Playgroud)

我期望的结果将是Math.sin(0)+Math.sin(0)

Math.sinMath.sinMath.sinMath.sinMath.sinMath.sinMath.sinMath.sin(0)+Math.sinMath.sinMath.sinMath.sinMath.sinMath.sinMath.sinMath.sin(0)
Run Code Online (Sandbox Code Playgroud)

我不知道该尝试修复代码.

javascript regex replace

2
推荐指数
1
解决办法
198
查看次数

如何创建具有不可变属性的javascript类

这个问题专门用于防止将不必要的属性添加到javascript“类”中。我有一堂课叫做动物。

function Animal(){
this.name="";
this.type="";
//20 other properties
}
Run Code Online (Sandbox Code Playgroud)

用户创建自己的动物并添加20个属性的最简单方法是什么。我还想防止用户意外添加错误的属性。

我目前的方法:

    var myAnimal= new Animal();
    myAnimal.name="fluffy";
    myAnimal.type="cat";
    myAnimal.typo="cat";
Run Code Online (Sandbox Code Playgroud)

//添加20个以上的属性将需要再输入myAnimal 20次,而且如果用户输入错误,则会将其添加为新属性。

我希望会有这样的事情:

myAnimal=new Animal{
name:"fluffy",
type:"cat";
typo:"cat" //would throw an error
}
Run Code Online (Sandbox Code Playgroud)

我已经研究了Object.freeze Object.seal,Object.preventExtensions,但不确定它们如何应用于类。

javascript properties class immutability

2
推荐指数
1
解决办法
955
查看次数

在flex vs flash中声明变量?

此代码提供错误说明
1026:构造函数必须是实例方法.joe.mxml/joe/src第7行Flex问题

为什么.这就是我在flash中声明公共变量的方法.为什么它不适用于Flex?我也尝试过var joe:String ="won"; 仍然无法正常工作.

<fx:Script>
    <![CDATA[
        var joe="winning";
        function changelabel()
        {
            myButton.label=joe; 
        }

    ]]>
</fx:Script>
<s:Button x="50" y="42" label="Button" id="myButton" click="changelabel()"/>
Run Code Online (Sandbox Code Playgroud)

apache-flex variables flash declare

0
推荐指数
1
解决办法
827
查看次数

javascript 类实例对象字面量

有没有一种简便的方法可以在 javascript 中向类的实例添加属性?

编辑:重复的答案是关于向对象而不是类添加属性。我试图让用户轻松添加大约 10-20 个属性。我还试图确保他们无法添加自己的属性,而只能向预定义的属性添加值。我不知道该怎么做。

我有一个 javascript“类”:

function Car(){
this.make="";
this.model="";
//...
}
Run Code Online (Sandbox Code Playgroud)

要创建实例并添加属性,我将使用:

var mycar = new Car();
    mycar.make="honda";
    mycar.model="civic";
    //...
Run Code Online (Sandbox Code Playgroud)

有没有一种快捷方式来创建实例并添加属性,这样我就不必键入“mycar”。每一次?

javascript class object-literal shorthand

0
推荐指数
1
解决办法
1275
查看次数