小编Par*_*lia的帖子

在doc上执行write:除非明确打开,否则无法从异步加载的外部脚本写入文档.

我试图在页面加载执行后加载某个脚本,如下所示:

function downloadJSAtOnload(){
            var element = document.createElement("script");
            element.src = "scriptSrc";
            document.body.appendChild(element);
        }

         if (window.addEventListener)
                  window.addEventListener("load", downloadJSAtOnload, false);
            else if (window.attachEvent)
                  window.attachEvent("onload", downloadJSAtOnload);
            else window.onload = downloadJSAtOnload;
Run Code Online (Sandbox Code Playgroud)

虽然这个脚本似乎执行并下载'scriptSrc',并在body标记结束之前附加它,但它在控制台(chrome)中产生以下消息(不是错误)

无法在'Document'上执行'write':除非明确打开,否则无法从异步加载的外部脚本写入文档.

这甚至意味着什么?我应该采取不同的做法吗?即使我得到了预期的行为?

javascript asynchronous onload document.write

66
推荐指数
2
解决办法
11万
查看次数

在mongo shell中将Mongo查询输出打印到文件

和Mongo一起2天,我有一个SQL背景所以请耐心等待.与mysql一样,在MySQL命令行中将查询结果输出到机器上的文件非常方便.我试图理解如何在shell中做同样的事情

我可以通过在shell之外并执行以下命令轻松获取我想要的查询的输出:

mongo localhost:27017/dbname --eval "printjson(db.collectionName.findOne())" >> sample.json
Run Code Online (Sandbox Code Playgroud)

上面的方法很好,但它需要我退出mongo shell或打开一个新的终端选项卡来执行此命令.如果我可以在shell内部完成此操作,那将非常方便.

PS:问题是我在SO上发布的问题的一个分支

io mongodb mongo-shell mongodb-query

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

在VIM中搜索和替换会导致尾随字符

这就是我试图做的事情:

%s/Article/<h2>Article</h2>/gi
Run Code Online (Sandbox Code Playgroud)

不幸的是,每次我通过我的vim编辑器执行此命令时,它都说:

尾随字符

为了缓解上述情况,我执行了以下操作:

%s/\s*\r*$//
Run Code Online (Sandbox Code Playgroud)

并且它成功执行,但当我返回原始搜索和替换命令时,它再次显示"尾随字符"并且不执行搜索和替换操作.

我在这做错了什么?

linux vi vim command-line-arguments

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

通过Paypal REST API支付Paypal不会在Paypal Sandbox或实时网站上显示付款说明

我正在使用Paypal方法实现Paypal的新REST API支付,可在此处引用:https: //developer.paypal.com/webapps/developer/docs/integration/web/accept-paypal-payment/

付款执行得很好,完全按照应有的方式执行.用户选择使用Paypal付款,然后重定向到Paypal网站,在那里他需要登录并批准付款.我发送Paypal的JSON数据几乎就是上面链接中指定的内容,我的看起来像这样:

{
  "intent":"sale",
  "redirect_urls":{
    "return_url":"http://<return URL here>",
    "cancel_url":"http://<cancel URL here>"
  },
  "payer":{
    "payment_method":"paypal"
  },
  "transactions":[
    {
      "amount":{
        "total":"7.47",
        "currency":"USD"
      },
      "description":"This is the payment description."
    }
  ]
Run Code Online (Sandbox Code Playgroud)

}

当它将用户重定向到paypal网站时,描述和总金额列显示为空白

我不确定这是否是Paypal的REST API上的错误,但我相信我提供必要的描述+金额付款以反映在此页面上.如果没有显示这些信息,它通常是对用户的威慑,因为他们肯定希望看到他们在Paypal网站上支付的金额,即使这个金额在我的网站上列出.

这就是它的样子:

在此输入图像描述

对于那些想要表明用户尚未登录的用户,即使在登录后,说明和当前购买列仍为空白.

我是否遗漏了需要发送到Paypal的任何参数以指示此描述数据?

注意:对于live和sandbox服务器,此问题仍然存在.

rest paypal paypal-sandbox

27
推荐指数
1
解决办法
9214
查看次数

点语法和方括号语法有什么区别?

我正在经历一些fpr Objective-C的演练,我到了很多地方,我抬起了眉毛.我很想让他们失望.

  1. 消息发送和方法调用有根本区别吗?Objective-C允许我做两件事:object.message产生与之相同的结果[object message].我想可能无法使用点运算符策略创建嵌套消息?

  2. 我创建了一个NSArray对象,现在我要使用以下方法打印结果NSEnumerator:

    id myObject = [object objectEnumerator];

    在while循环中迭代和打印结果.该类型myObject就是id,这意味着它在运行时解决,而不是编译时间.我非常清楚地知道什么样的对象存储在我的NSArray- 他们是NSStrings-so通过改变myObjectto 的类型NSString * myObject,它工作得很好.然而,我进行了实验,发现它myObject可以是任何类型,无论是它NSString还是NSArray或者NSEnumerator,这些都可以正常工作,完美地迭代NSArray对象并产生相同的结果.那是怎么回事?

objective-c

14
推荐指数
3
解决办法
9162
查看次数

获取多维数组中特定列的所有值

我有一个多维数组,比如x列数和y行数.

我特别想要第3列中的所有值.

这样做的显而易见的方法是将它放在这样的for循环中

for(i=0;i<y-1;i++)
{
   $ThirdColumn[] = $array[$i][3];
}
Run Code Online (Sandbox Code Playgroud)

但是这里涉及O(n)的明显时间复杂性.有没有内置的方法让我只需从数组中提取每一行而无需循环.

例如(这不适用)

$ThirdColumn  = $array[][3]
Run Code Online (Sandbox Code Playgroud)

php arrays multidimensional-array

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

将单词聚类成组

这是一个家庭作业问题.我有一个充满文字的巨大文件.我的挑战是将这些单词分类为充分代表单词的不同组/群.我处理它的策略是使用K-Means算法,如您所知,采用以下步骤.

  1. 为整个组生成k个随机方法
  2. 通过将每个单词与最近的平均值相关联来创建K个群集
  3. 计算每个集群的质心,这成为新的意思
  4. 重复步骤2和步骤3,直到达到某个基准/收敛.

从理论上讲,我有点得到它,但并不完全.我想在每一步,我都有与之相对应的问题,这些是:

  1. 我如何决定k随机方法,技术上我可以说5,但这可能不一定是一个好的随机数.那么这个k纯粹是一个随机数,还是实际上是由启发式驱动的,例如数据集的大小,涉及的单词数量等等

  2. 你如何将每个单词与最近的平均值相关联?从理论上讲,我可以得出结论,每个单词的距离与最近的平均值相关联,因此,如果有3个均值,任何属于特定群集的单词都取决于它具有最短距离的平均值.但是,这实际上是如何计算的?在两个单词"group","textword"和假设平均单词"pencil"之间,如何创建相似度矩阵.

  3. 你如何计算质心?

  4. 当您重复步骤2和步骤3时,您假设每个先前的群集都是新的数据集?

很多问题,我显然不清楚.如果有任何我可以阅读的资源,那就太棒了.维基百科还不够:(

cluster-analysis text-analysis k-means

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

目标C中的多个方法部分

我正在学习Objective C,并在阅读方法时注意到这个时髦的怪癖.

像Java和C++一样,Obj.C可以接受多个参数,这很好,但是它声明客观的C方法可以有多个名称,这些名称似乎并不适合我.

例如:

-(NSArray *)shipsAtPoint:(CGPoint)bombLocation withDamage:(BOOL)damaged;
Run Code Online (Sandbox Code Playgroud)

在上面的例子中,有两个参数,bombLocation(返回类型CGPoint)和损坏的(返回类型BOOL),并且方法名称旁边似乎被拆分为shipatpoint:withDamage

我不明白这是什么...当它声明一个方法可以有多个名字时它意味着什么?这仅适用于需要多个参数的方法吗?或者,假设我想用单个名称命名我的方法,但是为它提供了多个参数,是可能的还是我必须为它提供多个名称,每个名称对应一个参数?如果是,那为什么呢?

感谢您与我的混乱!:)

iphone xcode objective-c ios

5
推荐指数
1
解决办法
438
查看次数

EmberView'keydown'和'keypress'事件无法呈现?

我有一个EmberApp,它有一个'keyDown'事件,我打算在渲染特定视图时使用,让我们称之为'PostsCommentView',为此,我这样做:

App.PostsCommentView = Ember.View.extend({
   eventManager:Ember.Object.extend({
      keyDown:function(event,view){
             console.log("keydown");  // I CAN see this
      },
      click: function(event,view){
              console.log("clicked"); // I CAN see this
      }
   })
    didInsertElement:function(){
              console.log("I have been inserted"); // I CAN see this
    }

});
Run Code Online (Sandbox Code Playgroud)

正如您可以从我的代码中读取的那样,视图肯定会插入,而click事件会将"clicked"记录到控制台中,但不会记录为keydown事件.

我四处搜索,似乎,我需要将注意力集中在'视图'上,以便注册'keyDown'事件.所以我将它添加到我的'didInsertElement'函数中:

this.$().focus();
Run Code Online (Sandbox Code Playgroud)

但是,这也不起作用.在旁注中,我将'keyDown'事件添加到扩展Ember.TextArea的Textarea视图中,并且DID注册了keyDown事件.

我在这里错过了什么?

keypress javascript-events keydown ember.js

5
推荐指数
1
解决办法
2420
查看次数

PHP DOMDocument createElement模糊了&符号

我正在使用PHP DOMDocument库来创建一个'script'标签元素,其中包含一个javascript值,并将其插入DOM中.

这就是我做的:

$scriptElement = $doc->createElement('script',$scriptTagVal);
echo $scriptElement->nodeValue;                                                                  
$someNode->parentNode->insertBefore($scriptElement,$postRttScriptNode); 
Run Code Online (Sandbox Code Playgroud)

这表现我预期的方式,它在'someNode'之前插入一个元素.然而,它做了一些奇怪的事情,它混淆了&符号(&).单个&符号(&)不存在,双&符号(&&)被买下单个&符号.

疯?好吧,我试过这样做:

$scriptElement = $doc->createElement('script','return "undefined" !== typeof b **&&** null !== b ? b.getAttribute("content") : 0');
Run Code Online (Sandbox Code Playgroud)

如果我回显$ scriptElement-> nodeValue,

我明白了

return "undefined" !== typeof b **&** null !== b ? b.getAttribute("content") : 0'
Run Code Online (Sandbox Code Playgroud)

我假设这几乎闻所未闻,但我尝试使用包含双&符号的值创建不同的元素.就像是:

 $scriptElement = $doc->createElement('p','Why does DOMDocument obfuscate double
            ampersands(&&)');    
Run Code Online (Sandbox Code Playgroud)

输出到我的浏览器的结果是

带有值的标签:

为什么DOMDocument会混淆双&符号(

也许特殊人物?无论如何我可以解决这个问题吗?我的意思是,肯定有一种方法可以使用DOMDocument在HTML中插入javascript,对吧?

php obfuscation domdocument

5
推荐指数
1
解决办法
1501
查看次数