小编Alp*_*Alp的帖子

使用自定义附加数据创建JavaScript事件

是否有JavaScript方法将自定义数据传递给手动创建的JavaScript事件?

好吧,假设我有这个代码来创建和触发JavaScript事件:

var evObj = document.createEvent('HTMLEvents');
evObj.initEvent('submit', bubbling, cancelable);
anElement.dispatchEvent(evObj);
Run Code Online (Sandbox Code Playgroud)

这工作正常,可以使用此代码处理:

document.addEventListener('submit', mySubmitEventHandler, true);
Run Code Online (Sandbox Code Playgroud)

但是,我需要一种方法将其他数据传递给事件,以便mySubmitEventHandler知道事件是由用户触发还是由JavaScript事件创建,如上所示.布尔值就足够了.

那么,我怎样才能为新创建的东西添加"myEvent = true"之类的东西evObj呢?

请不要jQuery答案,我需要用纯JavaScript做这个.

javascript event-handling javascript-events

12
推荐指数
2
解决办法
9729
查看次数

使用它们获取所有Wikipedia Infobox模板和所有页面

给定维基百科的维基百科页面:Stack Overflow,通常有信息框(大部分位于页面顶部的右侧).截屏示例:

维基百科上的Stackoverflow信息框

  1. DBPedia将所有这些属性列为RDF三元组.您可以在DBPedia上看到示例:Stack Overflow.在那里,您会看到dbpprop:wikiPageUsesTemplate具有dbpedia:Template:Infobox_website有趣价值的房产.我想知道哪些维基百科页面使用此模板.我该怎么做并列出所有使用Infobox_website模板的页面?最好使用SPARQL查询,但我对其他简单的解决方案持开放态度.

  2. 接下来是所有Infobox模板的列表.维基百科:类别信息框模板显示了所需维基百科类别的层次结构 - 看起来像我正在寻找的.但我希望所有这些都是机器可读的格式,在一个页面上.也许DBPedia也是正确的吗?在DBPedia:类别信息模板DBPedia:INFOBOX我发现很少的信息.但这些看起来很有希望.如何使用SPARQL查找所有信息框类型,以便我可以为每个信息重复执行第1步?

您可以使用它来测试SPARQL查询:http://dbpedia.org/snorql/

更新1

我似乎已经解决了问题1:SPARQL:列出所有使用Infobox_website的页面

更新2

此外,这似乎是问题2的查询:SPARQL:列出所有信息框

mediawiki wikipedia sparql dbpedia

10
推荐指数
2
解决办法
3083
查看次数

JavaScript正则表达式测试,如果字符串包含特定的单词(带变量)

我有一个正则表达式来检查字符串是否包含特定的单词.它按预期工作:

/\bword\b/.test('a long text with the desired word amongst others'); // true
/\bamong\b/.test('a long text with the desired word amongst others'); // false
Run Code Online (Sandbox Code Playgroud)

但我需要一个即将在变量中检查的词.使用new RegExp不正常,它总是返回false:

var myString = 'a long text with the desired word amongst others';

var myWord = 'word';
new RegExp('\b' + myWord + '\b').test(myString); // false

myWord = "among";
new RegExp('\b' + myWord + '\b').test(myString); // false
Run Code Online (Sandbox Code Playgroud)

这有什么不对?

javascript regex string-comparison

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

语法高亮显示纯文本(Sublime Text)

我非常喜欢任何形式的语法高亮.但我遗漏了类似于纯文本文件的东西.想象一下,在缩进的行或行之前有不同的颜色,前面是特殊的字符.这样的事情已经存在吗?我特别欣赏Sublime Text的插件.

syntax-highlighting plaintext sublimetext2

9
推荐指数
1
解决办法
2737
查看次数

Docker中的共享卷通过Vagrant

我有一个Vagrant虚拟框,它托管一个Docker容器.主机有一个文件夹,需要在vm和容器中访问:

Host: /host/path => VM: /vagrant/path => Container: /docker/path
Run Code Online (Sandbox Code Playgroud)

背景:/host/path/保存项目的开发文件,这些文件在容器级别可用,以确保在进行更改时自动重新加载.

组态

流浪汉:

Vagrant.configure("2") do |config|
  config.vm.synced_folder "/host/path", "/vagrant/path"
end
Run Code Online (Sandbox Code Playgroud)

泊坞窗:

docker run -name mycontainer -d -v /vagrant/path:/docker/path my/image
Run Code Online (Sandbox Code Playgroud)

问题

此配置有效,直到我重新加载vm.例如,当我重新启动计算机并启动vm时vagrant up,docker容器只识别一个空文件夹/docker/path.我想这可能是一些时间或顺序问题./vagrant/path不是空的并且具有正确的内容.

我的解决方法是在每次重启vm后重新加载容器:

docker rm mycontainer 
docker kill mycontainer 
docker run -name mycontainer -d -v /vagrant/path:/docker/path my/image
Run Code Online (Sandbox Code Playgroud)

那感觉不对.有任何想法吗?

linux vagrant docker

9
推荐指数
1
解决办法
4277
查看次数

React:带有Webpack的JSX中的内联CSS模块

我有一个最小的React组件,它由两个文件组成:button.jsxbutton.less.导入样式,并为类名添加哈希,以使组件的所有样式都是局部的.

这很好,但我想将所有组件代码放在一个文件中.是否可以在不丢失css模块性的情况下内联jsx文件中的样式?

现行守则

button.jsx

import React from 'react';
import styles from './button.less'

export default class Button extends React.Component {
    render() {
        return <button className={styles.primary}>{this.props.text}</button>;
    }
}
Run Code Online (Sandbox Code Playgroud)

button.less

@import '~semantic-ui/src/definitions/elements/button.less';

.common {
    composes: ui button;
}

.primary {
    composes: common primary;
}
Run Code Online (Sandbox Code Playgroud)

webpack.config.js(相关位)

module: {
    loaders: [
        {
            test: /\.jsx$/,
            loader: 'babel'
        },

        {
            test: /\.less$/,
            loader: "style!css?modules&importLoaders=1!less"
        }
    ]
},
Run Code Online (Sandbox Code Playgroud)

我想写的是什么

button.jsx

<style lang="less" modules>
    @import '~semantic-ui/src/definitions/elements/button.less';

    .common {
        composes: ui button;
    }

    .primary { …
Run Code Online (Sandbox Code Playgroud)

css reactjs webpack react-jsx css-modules

9
推荐指数
1
解决办法
1721
查看次数

在远程Tomcat上自动部署Java应用程序

我希望能够自动将Java应用程序部署到tomcat服务器.

现在的情况:

  • Eclipse项目正在开发中
  • Tomcat服务器正在另一台机器上运行,为该项目提供WAR文件

我的目标:很容易将项目编译和部署到远程Tomcat服务器.我不介意这是一个控制台命令/脚本还是使用Eclipse GUI.

那可能吗?如果有,怎么样?(如果有可能性,需要更改我的设置,请随时给我建议更好的适合设置)

更新

是的,我使用Maven.

java eclipse deployment tomcat

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

是否可以进一步压缩Base64 PNG字符串?

我有一个PNG图像,并获得了Base64 PNG字符串表示.它仍然很大,我想知道它是否可以进一步压缩.这甚至可能吗?

背景

我正在使用Selenium 2(Java)创建当前网页的屏幕截图,将其转换为base64字符串并将该字符串发送到JavaScript执行程序以重新创建该图像并进行一些图像处理.但是如果该字符串大小太大,服务器将返回异常.

javascript compression base64 image selenium-webdriver

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

如何使用嵌套对象序列化Django模型(Django REST Framework)

如果我有两个序列化程序,其中一个是嵌套的,我该如何设置restore_object方法?例如,如果我定义了以下序列化程序,如何为嵌套序列化程序定义还原对象字段?从文档中可以看出如何处理这种情况并不明显.

class UserSerializer(serializers.Serializer):
    first_name = serializers.CharField(required=True, max_length=30)
    last_name = serializers.CharField(required=True, max_length=30)
    username = serializers.CharField(required=True, max_length=30)
    email = serializers.EmailField(required=True)
    password = serializers.CharField(required=True)

    def restore_object(self, attrs, instance=None):
        if instance:
            instance.first_name = attrs.get('first_name', instance.first_name)
            instance.last_name = attrs.get('last_name', instance.last_name)
            instance.email = attrs.get('email', instance.email)
            instance.password = attrs.get('password', instance.password)

class UserProfileSerializer(serializers.Serializer):
    user = UserSerializer()
    bio = serializers.CharField()
    def restore_object(self, attrs, instance=None):
        if instance:
            instance.bio = attrs.get('bio', instance.bio)
            instance.user = ?????
Run Code Online (Sandbox Code Playgroud)

django serialization django-rest-framework

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

带有not()和ends-with()的Xpath错误

我有以下Xpath表达式:

//*[not(input)][ends-with(@*, 'Copyright')]
Run Code Online (Sandbox Code Playgroud)

我希望它能给我所有元素 - 输入除外 - 任何以"Copyright"结尾的属性值.

我在Selenium 2 Java API中执行它webDriver.findElements(By.xpath(expression))并获得以下错误:

表达不是法律表达

但这些表达没有问题:

//*[not(input)][starts-with(@*, 'Copyright')]
//*[ends-with(@*, 'Copyright')]
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

java xpath selenium-webdriver

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