我在网站上使用CKEditor,我需要能够在通过编辑器创建的一些链接上放置特殊的数据属性.用户通过选中链接对话框中的复选框,指示他们需要放置在链接上的特殊属性.我已设法使用以下代码向链接对话框添加一个复选框:
CKEDITOR.on('dialogDefinition', function(ev) {
if (ev.data.name == "link") {
var info = dialog.getContents("info");
info.elements.push({
type: "vbox",
id: "urlOptions",
children: [{
type: "hbox",
children: [{
id: "button",
type: "checkbox",
label: "Button",
commit: function(data) {
data.button = this.getValue()
console.log("commit", data.button, data);
},
setup: function(data) {
this.setValue(data.button);
console.log("setup", data.button, data);
}
}]
}]
});
}
});
Run Code Online (Sandbox Code Playgroud)
现在我有两个问题.第一个是尽管我添加了应该保存复选框状态的函数commit和setup函数,但是它不起作用.就好像它data不能保存任何其他参数,但默认情况下那些参数.
第二个问题是我不知道如何在我的链接上添加/删除数据属性.在我看来,我应该onOk在对话框的回调中这样做,但是,链接对话框已经有onOk回调,所以我不确定我应该如何进行.当然,我不想直接修改任何CKEditor的文件.
我怎样才能完成这些事情?
我使用GridFS存储在MongoDB中的文件.我需要从JavaScript shell中删除ID中的一些文件.我需要使用它的ID删除单个文件.我想我可以这样做:
db.fs.files.remove({_id: my_id});
Run Code Online (Sandbox Code Playgroud)
这在某种程度上起作用; 它从fs.files集合中删除文件,但不从集合中删除块本身fs.chunks.我知道的原因是因为我在RockMongo之前和之后检查了两个集合的长度.
我可以浏览一下块并删除那些引用该文件的内容,但有没有更好的内置方法呢?
我正在尝试提高我的网站在IE11中的性能,我似乎无法从性能分析器中获得任何结果.我已经阅读了这个页面,它看起来非常简单,但我必须遗漏一些东西.以下是我采取的步骤:
这发生在我尝试的任何网站上,而不仅仅是我的网站.其余的F12标签(DOM,控制台,网络)都可以正常工作.使用IE版本11.125.16299.0,11.0.49在Windows上更新版本10.0.16299.
我究竟做错了什么?
performance profiler internet-explorer-11 ie11-developer-tools
加载页面时,我的控制器中有以下内容:
request.setAttribute("myAtt", "Testing");
Run Code Online (Sandbox Code Playgroud)
我想在我的JSP文件中访问它.在HTML部分,我熟悉使用以下内容:
${myAtt} ${requestScope.myAtt}
Run Code Online (Sandbox Code Playgroud)
等等.但是,我从未确定如何在JavaScript中访问请求参数.我尝试过很多东西,例如:
var jsAtt = ${myAtt};
var jsAtt = '${myAtt}';
var jsAtt = eval(${myAtt});
var jsAtt = eval('${myAtt}');
Run Code Online (Sandbox Code Playgroud)
等等,但似乎没有任何作用.
有没有办法通过JavaScript获取请求属性?请不要jQuery,servlets等.我想要纯JavaScript代码.
我有点惊讶我没有发现这已经问过了.很抱歉,如果它是重复的,我只是没有看到orignal.
我试图用PHP缩小PHP中的一些透明图像,每当我这样做时,周围都会添加一个奇怪的黑色边框.
之前

后

码
<?php
$image = imagecreatefromstring(file_get_contents('logo.png'));
$width = imagesx($image);
$height = imagesy($image);
$newWidth = $width - 1;
$newHeight = $height - 1;
$output = imagecreatetruecolor($newWidth, $newHeight);
imagecolortransparent($output, imagecolorallocatealpha($output, 0, 0, 0, 127));
imagealphablending($output, false);
imagesavealpha($output, true);
imagecopyresampled($output, $image, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
header('Content-Type: image/png');
imagepng($output);
?>
Run Code Online (Sandbox Code Playgroud)
似乎如果我将新维度的代码更改为旧维度(删除- 1),则不会出现黑色边框.因此调整大小会导致问题.
有谁知道什么可能是错的?
编辑:我刚刚意识到它只发生在imagecopyresampled和不发生imagecopyresized.但是,imagecopyresampled提供了更好的视觉效果,如果可能的话我想让它工作.
我可以发送Google Analytics事件并立即离开,就像这样吗?
_gaq.push(['_trackEvent', 'foobar']);
window.location = "/";
Run Code Online (Sandbox Code Playgroud)
如果谷歌分析在调用它时会执行某种AJAX请求,那么无论我们是否留在页面上它都应该有效.我担心的是,它似乎有时只是将数据放入数组中以供以后处理.我认为这只是最初发生的,当谷歌分析还没有时间进行初始化时,但我想确定这一点.
我用GA调试进行了测试,它看起来有效,但我不确定这是否意味着它总是取决于加载速度而不是.
我可以这样做,永远不会丢失任何事件吗?
我有一种情况,可以从多个不同的域访问应用程序.例如,foo.com和bar.com在理论上都可以指向我的应用程序.此外,他们的子域名也可以指向我的应用程序,例如red.foo.com和blue.foo.com.我正在使用Express cookie会话,我的会话初始化代码如下所示:
app.use(express.session({
secret: "secret",
cookie: {
domain: ".foo.com"
},
store: new MongoStore({
db: db
})
}));
Run Code Online (Sandbox Code Playgroud)
这适用于用户通过foo.com或其任何子域时,但bar.com无法正常工作.我需要同时兼得.理想情况下,我会根据请求将其设置为不同的域,但我不确定如何做到这一点.我的请求是高度异步的,如果我只是在每个请求中为整个应用程序设置它,我担心当两个调用同时进入时它可能不起作用.
这是可能吗?有没有人有任何想法来解决这个问题?
美好的一天,
我最近一直在寻找一个简单的JavaScript类框架,它只进行基本的继承.我在他的博客上找到了John Resig的示例框架,我发现它对我的需求非常满意.但是,该帖子的日期是2008年,毕竟这是我们正在讨论的网络.
所以我的问题是,你们会按原样使用那个系统,还是会有改进,多年来发现的东西?或者也许是现有的,积极支持的类框架,类似于这个?
谢谢.
我正在尝试用PHP中的PayPal实现定期付款.我找到了这个例子,我正在研究,但我需要一些API凭据.我创建了一个PayPal沙盒帐户,并从那里创建了一个商家帐户.我正在尝试获取该沙箱商家帐户的API凭据以替换示例中的值,但我找不到位置.我找到的所有指南都指向沙箱用户界面的不存在的部分.有谁知道我在哪里可以找到沙盒商家帐户的API凭据详细信息?
谢谢.
在桌面上运行的Node.js是否可以生成Chrome浏览器窗口?我想在Node.js收到活动时启动Chrome浏览器,提供窗口大小和位置.
sys shell命令只是方法吗?