小编pmr*_*ule的帖子

Javascript复数字符串

在PHP中,我使用Kuwamoto的类来复活我的字符串中的名词.除了一些插件,我没有在javascript中找到像这个脚本一样好的东西.所以,拥有一个基于Kuwamoto课程的javascript函数会很棒.

http://kuwamoto.org/2007/12/17/improved-pluralizing-in-php-actionscript-and-ror/

javascript pluralize plural

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

谷歌翻译 - 禁止翻译我的部分文字

我正在创建一个管理页面来为博客创建帖子.我有一个法语textarea和一个英语textarea.所以,对于那些不能自己翻译的人,我创建了一个"与谷歌翻译"的按钮:

<a id="tr_textefr" href="http://translate.google.fr/#fr/en/" target="_blank">
Traduire avec Google</a>
Run Code Online (Sandbox Code Playgroud)

我的法语textarea有一个名为onkeyup的javascript函数:

function translate(what){
var button = "tr_" + what;
var textarea = document.getElementById(what);
var google = "http://translate.google.fr/#fr/en/" + textarea.value;

document.getElementById(button).setAttribute('href', google);
}
Run Code Online (Sandbox Code Playgroud)

例如,如果我写"Voulez-vous coucher avec moi ce soir?",它将改变" http://translate.google.fr/#fr/en/Voulez-vous coucher avec moi ce soir?"的href属性? ".该链接将重定向到我的文本的翻译版本(通过谷歌翻译).

顺便说一句,这段代码很好用.问题是我的文本中有时会出现bbcode:"Voulez-vous [b] coucher [/ b] avec moi ce soir?".

那么,谷歌翻译有没有办法禁用某些单词或句子的翻译?例如,我不想翻译两个@之间的单词:"Voulez-vous @ [b] @coucher @ [/ b] @ avec moi ce soir?"

google-translate

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

如何更改本地运行的 Node.js 项目中的 Promise 构造函数?

这可能听起来很奇怪,但我想更改本地 Node.js 版本并修改实现Promise以添加新的source实例属性。

global.Promise = class SourcePromise extends Promise {
  constructor(params) {
    super(params)
    this.source = new Error('This is where this promise was created').stack
  }
}
Run Code Online (Sandbox Code Playgroud)

这将帮助我调试 Nuxt 应用程序上发生的错误,但仅限于服务器上。我可以通过监听unhandledRejection事件来捕获错误,但返回的错误不是一个Error对象,它只是undefined所以我不知道它来自哪里。的回调unhandledRejection也返回承诺,因此我尝试在nuxt start脚本的最开头添加上面的代码片段,以便能够记录源代码,如下所示:

process.on('unhandledRejection', (error, promise) => {
  console.log('Unhandled Rejection:', error?.stack)
  console.log('Promise source:', promise.source)
})
Run Code Online (Sandbox Code Playgroud)

promise.source也是未定义的。如果我从任何脚本登录console.log(Promise.resolve().source),它就会起作用并且我会获得源代码,因此我想到的唯一解释是承诺是在Promise未定义我的扩展的子进程中创建的。

总而言之,由于它发生在一个单独的进程中,并且我无法确定是哪个进程,所以我认为SourcePromise在所有 Node 进程中全局实现的唯一方法是Promise直接在本地版本的 Node 中更改定义。有可能吗?

我在 macOS Monterey 12.3.1 上使用 nvm v0.38.0

编辑

我最终从 …

c++ v8 node.js nvm

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

Facebook Graph Api url评论和分享计数不再有效

我正在为我的博客使用facebook评论插件,直到现在,facebook图表api帮助我检索了我网站上每个帖子的评论数.所以,正如我所说,我写的帖子就像一个月前一样,我可以使用php和json_decode检索注释计数,如下所示:

$wsurl  = 'http://www.example.com/title-of-the-post/';
$wsjson = json_decode(file_get_contents('https://graph.facebook.com/?ids='.$wsurl));
$cmcount = ($wsjson->$wsurl->comments) ? $wsjson->$wsurl->comments : 0;
Run Code Online (Sandbox Code Playgroud)

通常,它的工作原因是"评论"行显示出来.我不知道为什么,但是现在,我创建的每个新帖都没有"评论"和"分享"这一行.所以,这是我从https://graph.facebook.com/?ids=http://www.example.com/title-of-the-post/得到的

较旧的帖子:

{
   "http://www.example.com/title-of-the-post/": {
      "id": "http://www.example.com/title-of-the-post/",
      "shares": 6,
      "comments": 6
   }
}
Run Code Online (Sandbox Code Playgroud)

最新帖子:

{
   "http://www.example.com/title-of-the-post/": {
      "url": "http://www.example.com/title-of-the-post/",
      "type": "website",
      "title": "Title of the post",
      "image": [
         {
            "url": "http://www.example.com/thumb.png"
         }
      ],
      "description": "This is a great post about great things.",
      "updated_time": "2012-12-25T17:57:03+0000",
      "id": "66666666666666"
   }
}
Run Code Online (Sandbox Code Playgroud)

"评论"行不再显示,我现在有更多信息(一些我不在乎的信息).所以发生了什么事?我根本没有改变我的代码!顺便说一下,我的评论框仍在工作并显示所有评论(而我的按钮显示正确的"份额"计数).有人能帮助我吗?

facebook facebook-graph-api facebook-comments

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

PHP MySQL - 内部仅在非空时才加入

我有一个使用内部联接的mysqli SELECT查询,我注意到一个大问题:它没有选择条件的列值为空的行(因为第二个表中不存在NULL).这是我的代码:

<?php

$sql = mysqli_connect(/* CONNECTION */);

$query =    "SELECT " .
            "e.EQUIPMENT_ID, " .
            "e.CUSTOMER_ID, " .
            "e.DESCRIPTION, " .
            "e.LOCATION, " .
            "e.JOB_SITE, " .
            "e.PROJECT_NAME, " .
            "jb.DESCRIPTION AS JOB_SITE_NAME " .
            "FROM equipments e " .
            "INNER JOIN jobsites jb ON jb.JOBSITE_ID = e.JOB_SITE " .
            "WHERE e.CUSTOMER_ID = 1 ".
            "ORDER BY e.EQUIPMENT_ID ASC";

$results = mysqli_query($sql, $query);

if(!isset($data)) $data = array(); $cc = 0;

while($info = mysqli_fetch_array($results, MYSQLI_ASSOC)){

    if(!isset($data[$cc])) $data[$cc] = array();

    ///// …
Run Code Online (Sandbox Code Playgroud)

php mysql inner-join

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

使用 Service Worker 时离线重写 URL

我正在使用由名为sw-precache的 Nodejs 插件生成的服务工作线程来制作具有离线功能的 Web 应用程序。一切正常,我可以离线访问 html 文件或图像。

但是,既然你没有可能的服务器端语言,有没有办法像.htaccess文件一样重写客户端的 url 呢?就像当没有文件与 url 匹配时显示“404 页面未找到”页面一样?我知道可以使用 Javascript 或元标记进行重定向,但是重写 url 吗?

javascript .htaccess mod-rewrite node.js service-worker

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