有没有一种方法可以检测HTML元素本身可使用的事件处理程序?
例如:
isAvailable(img.onload) === true; // All browsers
isAvailable(script.onload) === true; // Non-IE only (Webkit, Firefox, Opera)
isAvailable(link.onload) === true; // IE (and I think Opera) only
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想在脚本中进行功能检测,如果元素可以使用onload进行使用,否则进行回退。当前,我不得不做浏览器派生(基于IE),这很烦人,因为IE可能开始支持script.onload,而Webkit / Firefox可能开始支持link.onload。
不幸的是,分配element.onload使得事件不再“未定义”,无论它是否最终会触发。
谢谢!
我有一个关于Javascript正则表达式忍者的问题:如何使用正则表达式分组从字符串中简化变量创建?我目前没有使用任何分组工作,但我希望看到更好的方式!
字符串是:
var url = 'resources/css/main.css?detect=#information{width:300px;}';
Run Code Online (Sandbox Code Playgroud)
有效的代码是:
var styleStr = /[^=]+$/.exec(url).toString();
var id = /[^\#][^\{]+/.exec(styleStr).toString();
var property = /[^\{]+/.exec(/[^\#\w][^\:]+/.exec(styleStr)).toString();
var value = /[^\:]+/.exec(/[^\#\w\{][^\:]+[^\;\}]/.exec(styleStr)).toString();
Run Code Online (Sandbox Code Playgroud)
这给出了:
alert(id) //information
alert(property) //width
alert(value) //300px
Run Code Online (Sandbox Code Playgroud)
任何接受者?
我正在设置一个基本的 Webpack 安装,并希望使用PostCSS和PreCSS插件在 @imported 文件中自动重新加载浏览器预处理的 CSS 。目前,如果我修改并保存 @imported 文件,浏览器不会刷新(下面示例中的 body.css)。如果我随后保存根引用的 CSS 文件 (styles.css),则浏览器会刷新并反映对 @imported 文件所做的任何更改。
我尝试使用可配置的 webpack-dev-server,并使用 server.js。我试过没有和安装热模型重新加载(HMR)。
有没有办法让 webpack 监视 @imported CSS 文件,或者我在这里根本错过了什么?
包.json
"dependencies": {
"react": "^0.14.0",
"react-dom": "^0.14.0"
},
"devDependencies": {
"autoprefixer": "^6.3.1",
"css-loader": "^0.23.1",
"extract-text-webpack-plugin": "^1.0.1",
"postcss-loader": "^0.8.0",
"postcss-scss": "^0.1.3",
"precss": "^1.4.0",
"react-hot-loader": "^1.3.0",
"style-loader": "^0.13.0",
"webpack": "^1.12.13",
"webpack-dev-server": "^1.14.1"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node server.js",
"start-dev-server": "webpack-dev-server 'webpack-dev-server/client?/' --host 0.0.0.0 --port 9090 …
Run Code Online (Sandbox Code Playgroud) 我想尝试做一个相对简单的设置:
为此,Webpack Dev Server proxies
另一台服务器要传递不知道如何处理的请求.
使用基本的python服务器(可以工作):
使用Apache服务器:
如果我在浏览器中单独访问http://vhost.name,我会看到正确的HTML.我的环境是默认的Apache Server版本:Mac OSX El Capitan上的Apache/2.4.16(Unix).
的package.json
"scripts": {
"test": "node server.js",
"start": "npm run start-dev-server",
"start-dev-server": "webpack-dev-server 'webpack-dev-server/client?/' --host 0.0.0.0 --port 9090 --progress --colors",
"build": "webpack"
},
Run Code Online (Sandbox Code Playgroud)
webpack.config.js
/*global require module __dirname*/
var webpack …
Run Code Online (Sandbox Code Playgroud) 我想运行结合 cli 和 jest.config.js 的 jest,所以我可以使用相同的配置,但在运行时稍作改动
jest --config=jest.config.js
Run Code Online (Sandbox Code Playgroud)
结果是
Test Suites: 1 failed, 163 passed, 164 total
Tests: 8 skipped, 1685 passed, 1693 total
Snapshots: 87 passed, 87 total
Time: 34.719s, estimated 44s
Run Code Online (Sandbox Code Playgroud)
尽管
jest --config=jest.config.js --testPathIgnorePatterns=[ignore]
Run Code Online (Sandbox Code Playgroud)
结果是
752 files checked.
testMatch: **/__tests__/**/*.[jt]s?(x), **/?(*.)+(spec|test).[tj]s?(x) - 164 matches
testPathIgnorePatterns: [ignore] - 0 matches
testRegex: - 0 matches
Pattern: - 0 matches
error Command failed with exit code 1.
Run Code Online (Sandbox Code Playgroud)
如果我修改配置
modulePathIgnorePatterns: [
'<rootDir>/src/.*/__mocks__',
'<rootDir>/node_modules',
'<rootDir>/.*/ignore',
],
Run Code Online (Sandbox Code Playgroud)
结果是
Test Suites: 163 passed, 163 …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用bash为我的MP3文件名(非常重要)构建一个通用格式化程序,其中很大一部分是能够使用正则表达式变量移动文本.例如,我试图从ft.Kevin Parker周围删除括号().
oldfilename="Mark Ronson - 02 Summer Breaking (ft. Kevin Parker).mp3"
newfilename=$(echo $oldfilename | sed -E "s/ft.\(*\)/ft.\1/g")
Run Code Online (Sandbox Code Playgroud)
这会导致错误:
sed: 1: "s/ft.\(*\)/gt.\1/g": \1 not defined in the RE
Run Code Online (Sandbox Code Playgroud)
我已尝试转义而不是转义(),并按照.bash_profile sed:\ 1中的建议添加和删除-E开关.救命?!