我一直在开发用于将内容保存到Instapaper的 Safari 扩展程序,并且一直在努力增强我对书签的标题解析。例如,我最近保存的一篇文章的标签如下所示:
报告:Bing 用户受到恶意软件重定向的不成比例影响 | TechCrunch
我想在我的 Safari 扩展程序中使用 JavaScript 来删除管道字符之后的所有文本,这样我可以使最终的书签在保存到 Instapaper 后看起来更整洁。
我已经尝试使用如下代码块在几个类似的案例中成功解析标题:
if(safari.application.activeBrowserWindow.activeTab.title.search(' - ') != -1) {
console.log(safari.application.activeBrowserWindow.activeTab.title);
console.log(safari.application.activeBrowserWindow.activeTab.title.search(' - '));
var parsedTitle = safari.application.activeBrowserWindow.activeTab.title.substring(0, safari.application.activeBrowserWindow.activeTab.title.search(' - '));
console.log(parsedTitle);
};
一旦我尝试用管道字符做同样的事情,我就开始陷入循环;但是,由于 JavaScript 将其用作特殊字符。我已经尝试了几位代码来尝试解决这个问题。最近看起来像这样(尝试使用正则表达式并转义管道字符):
if(safari.application.activeBrowserWindow.activeTab.title.search('/\|') != -1) {
console.log(safari.application.activeBrowserWindow.activeTab.title);
console.log(safari.application.activeBrowserWindow.activeTab.title.search('/\|'));
var parsedTitle = safari.application.activeBrowserWindow.activeTab.title.substring(0, safari.application.activeBrowserWindow.activeTab.title.search('/\|'));
console.log(parsedTitle);
};
如果有人可以给我一个适用于此的提示,我们将不胜感激!