书签问题
Bookmarklet issue
我正在尝试获取此小书签 运行,但出现此错误(在 Chrome 中):
Uncaught SyntaxError: Unexpected identifier
我不明白 href
中的 JavaScript 代码有什么问题。我不能把它放在一个单独的文件中;我需要在 href
.
中得到这个 运行
<a href="javascript:(function(){
if (!($ = window.jQuery)) {
script = document.createElement( 'script' );
script.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
script.onload=releasetheScript;
document.body.appendChild(script);
}
else {
releasetheScript();
}
function releasetheScript() {
regex = ['ceo', 'fondateur', 'cofondateur', 'cto', 'cfo', 'daf', 'startup', 'entrepreneur', 'office manager', 'fintech', 'freelance', 'tech', 'founder', 'neobanque', 'banking', 'comptable', 'incubateur', 'coworking', 'PME', 'VC', 'accélérateur']
banned = ['|(?!', 'sex', 'porn']
target = regex.join('|') + banned.join('|') + ')';
interval = 10000
a = setInterval(function () {
window.scrollTo(0,document.body.scrollHeight);
var fields = $('.ProfileCard-userFields');
for (var i = 0; i < fields.length; i++) {
var p = fields[i].getElementsByClassName('ProfileCard-bio');
if (p[0].textContent.length > 1) {
if (p[0].textContent.match(new RegExp(target), 'g') !== null) {
console.log(p[0].textContent, 'text matching')
}
}
}
}, interval);
}
})()">Bookmarklet</a>
您的小书签将 运行 作为单行脚本,因此分号不是可选的。您的脚本失败,因为您缺少分号。
两个旁注:
- 您的代码似乎无缘无故地使用了隐式全局变量。使用
var
声明变量。
- 您最好使用
//
而不是 http://
来启动脚本 URL,以确保不管本地页面的方案如何都能加载脚本。
<a href="javascript:(function(){
if (!window.$ || window.$ !== window.jQuery) {
var script = document.createElement( 'script' );
script.src = '//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
script.onload=releasetheScript;
document.body.appendChild(script);
}
else {
releasetheScript();
}
function releasetheScript() {
/* v--- need a semicolon on this line */
var regex = ['ceo', 'fondateur', 'cofondateur', 'cto', 'cfo', 'daf', 'startup', 'entrepreneur', 'office manager', 'fintech', 'freelance', 'tech', 'founder', 'neobanque', 'banking', 'comptable', 'incubateur', 'coworking', 'PME', 'VC', 'accélérateur'];
var banned = ['|(?!', 'sex', 'porn']; /* <-- here */
var target = regex.join('|') + banned.join('|') + ')';
var interval = 10000; /* <-- here */
var a = setInterval(function () {
window.scrollTo(0,document.body.scrollHeight);
var fields = $('.ProfileCard-userFields');
for (var i = 0; i < fields.length; i++) {
var p = fields[i].getElementsByClassName('ProfileCard-bio');
if (p[0].textContent.length > 1) {
if (p[0].textContent.match(new RegExp(target), 'g') !== null) {
console.log(p[0].textContent, 'text matching'); /* <-- and here */
}
}
}
}, interval);
}
})()">Bookmarklet</a>
在所有语句的末尾添加分号,ASI 没有在您需要的地方填充分号。我不会费心去弄清楚为什么,只是养成总是使用它们的习惯。
<a href="javascript:(function(){
if (!($ = window.jQuery)) {
script = document.createElement( 'script' );
script.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
script.onload=releasetheScript;
document.body.appendChild(script);
}
else {
releasetheScript();
}
function releasetheScript() {
regex = ['ceo', 'fondateur', 'cofondateur', 'cto', 'cfo', 'daf', 'startup', 'entrepreneur', 'office manager', 'fintech', 'freelance', 'tech', 'founder', 'neobanque', 'banking', 'comptable', 'incubateur', 'coworking', 'PME', 'VC', 'accélérateur'];
banned = ['|(?!', 'sex', 'porn'];
target = regex.join('|') + banned.join('|') + ')';
interval = 10000;
a = setInterval(function () {
window.scrollTo(0,document.body.scrollHeight);
var fields = $('.ProfileCard-userFields');
for (var i = 0; i < fields.length; i++) {
var p = fields[i].getElementsByClassName('ProfileCard-bio');
if (p[0].textContent.length > 1) {
if (p[0].textContent.match(new RegExp(target), 'g') !== null) {
console.log(p[0].textContent, 'text matching')
}
}
}
}, interval);
}
})()">Bookmarklet</a>
我正在尝试获取此小书签 运行,但出现此错误(在 Chrome 中):
Uncaught SyntaxError: Unexpected identifier
我不明白 href
中的 JavaScript 代码有什么问题。我不能把它放在一个单独的文件中;我需要在 href
.
<a href="javascript:(function(){
if (!($ = window.jQuery)) {
script = document.createElement( 'script' );
script.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
script.onload=releasetheScript;
document.body.appendChild(script);
}
else {
releasetheScript();
}
function releasetheScript() {
regex = ['ceo', 'fondateur', 'cofondateur', 'cto', 'cfo', 'daf', 'startup', 'entrepreneur', 'office manager', 'fintech', 'freelance', 'tech', 'founder', 'neobanque', 'banking', 'comptable', 'incubateur', 'coworking', 'PME', 'VC', 'accélérateur']
banned = ['|(?!', 'sex', 'porn']
target = regex.join('|') + banned.join('|') + ')';
interval = 10000
a = setInterval(function () {
window.scrollTo(0,document.body.scrollHeight);
var fields = $('.ProfileCard-userFields');
for (var i = 0; i < fields.length; i++) {
var p = fields[i].getElementsByClassName('ProfileCard-bio');
if (p[0].textContent.length > 1) {
if (p[0].textContent.match(new RegExp(target), 'g') !== null) {
console.log(p[0].textContent, 'text matching')
}
}
}
}, interval);
}
})()">Bookmarklet</a>
您的小书签将 运行 作为单行脚本,因此分号不是可选的。您的脚本失败,因为您缺少分号。
两个旁注:
- 您的代码似乎无缘无故地使用了隐式全局变量。使用
var
声明变量。 - 您最好使用
//
而不是http://
来启动脚本 URL,以确保不管本地页面的方案如何都能加载脚本。
<a href="javascript:(function(){
if (!window.$ || window.$ !== window.jQuery) {
var script = document.createElement( 'script' );
script.src = '//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
script.onload=releasetheScript;
document.body.appendChild(script);
}
else {
releasetheScript();
}
function releasetheScript() {
/* v--- need a semicolon on this line */
var regex = ['ceo', 'fondateur', 'cofondateur', 'cto', 'cfo', 'daf', 'startup', 'entrepreneur', 'office manager', 'fintech', 'freelance', 'tech', 'founder', 'neobanque', 'banking', 'comptable', 'incubateur', 'coworking', 'PME', 'VC', 'accélérateur'];
var banned = ['|(?!', 'sex', 'porn']; /* <-- here */
var target = regex.join('|') + banned.join('|') + ')';
var interval = 10000; /* <-- here */
var a = setInterval(function () {
window.scrollTo(0,document.body.scrollHeight);
var fields = $('.ProfileCard-userFields');
for (var i = 0; i < fields.length; i++) {
var p = fields[i].getElementsByClassName('ProfileCard-bio');
if (p[0].textContent.length > 1) {
if (p[0].textContent.match(new RegExp(target), 'g') !== null) {
console.log(p[0].textContent, 'text matching'); /* <-- and here */
}
}
}
}, interval);
}
})()">Bookmarklet</a>
在所有语句的末尾添加分号,ASI 没有在您需要的地方填充分号。我不会费心去弄清楚为什么,只是养成总是使用它们的习惯。
<a href="javascript:(function(){
if (!($ = window.jQuery)) {
script = document.createElement( 'script' );
script.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js';
script.onload=releasetheScript;
document.body.appendChild(script);
}
else {
releasetheScript();
}
function releasetheScript() {
regex = ['ceo', 'fondateur', 'cofondateur', 'cto', 'cfo', 'daf', 'startup', 'entrepreneur', 'office manager', 'fintech', 'freelance', 'tech', 'founder', 'neobanque', 'banking', 'comptable', 'incubateur', 'coworking', 'PME', 'VC', 'accélérateur'];
banned = ['|(?!', 'sex', 'porn'];
target = regex.join('|') + banned.join('|') + ')';
interval = 10000;
a = setInterval(function () {
window.scrollTo(0,document.body.scrollHeight);
var fields = $('.ProfileCard-userFields');
for (var i = 0; i < fields.length; i++) {
var p = fields[i].getElementsByClassName('ProfileCard-bio');
if (p[0].textContent.length > 1) {
if (p[0].textContent.match(new RegExp(target), 'g') !== null) {
console.log(p[0].textContent, 'text matching')
}
}
}
}, interval);
}
})()">Bookmarklet</a>