去除和=在javascript输出字符串中
我正在尝试使用JS保存我发送的包裹列表,并定期更新跟踪信息。我有一个js脚本,目前应该输出一个特定的URL,并刮取页面,看看是否包含任何关键字 但是,我得到了以下控制台输出: 地址应该是什么时候去除和=在javascript输出字符串中,javascript,Javascript,我正在尝试使用JS保存我发送的包裹列表,并定期更新跟踪信息。我有一个js脚本,目前应该输出一个特定的URL,并刮取页面,看看是否包含任何关键字 但是,我得到了以下控制台输出: 地址应该是什么时候 您可以使用.replace方法。查看上面的文档。const url=`https://www.royalmail.com/business/track-your-item/#/tracking-结果/${referenceNumber}`? const Item = function(referenc
您可以使用
.replace
方法。查看上面的文档。const url=`https://www.royalmail.com/business/track-your-item/#/tracking-结果/${referenceNumber}`代码>?
const Item = function(referenceNumber) {
return {
referenceNumber: referenceNumber,
lastStatus: '',
via: '',
tracks: [],
checkedAt: '',
nextCheck: new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), new Date().getHours(), new Date().getMinutes()),
setNextCheck: function(settings) {
const baseDate = this.checkedAt || new Date();
if(settings.checkUnitInterval === 'minute') {
this.nextCheck.setMinutes(baseDate.getMinutes() + settings.checkInterval);
}
else if(settings.checkUnitInterval === 'hour') {
this.nextCheck.setHours(baseDate.getHours() + settings.checkInterval);
}
else if(settings.checkUnitInterval === 'day') {
this.nextCheck.setDate(baseDate.getDate() + settings.checkInterval);
}
}
}
};
function trackerCallback(response) {
const html = $.parseHTML(response);
trackable(html);
}
function trackable(html) {
const referenceNumber = $(html).find('dl.tnt-block-parcel dd').text();
const lastStatus = $(html).find("dd.tnt-item-status").text();
const via = $(html).find('dl.tnt-block-service dd span.description').text('').parent().text().trim();
const history = $(html).find('table.tnt-tracking-history tbody tr');
let tracks = [];
$(history).each( (index, tr) => {
let track = {
date: $(tr).find('td:eq(0)').text(),
time: $(tr).find('td:eq(1)').text(),
status: $(tr).find('td:eq(2)').text(),
trackPoint: $(tr).find('td:eq(3)').text()
};
tracks.push(track);
});
let item = new Item(referenceNumber);
item.lastStatus = lastStatus;
item.checkedAt = new Date();
item.via = via;
item.tracks = tracks;
saveTrackable(item);
const options = {
body: `Last status: ${item.lastStatus}\nChecked at: ${formatDate(item.checkedAt)}`,
icon: '../256x256.png'
};
chrome.storage.sync.get('settings', storage => {
const settings = JSON.parse(storage.settings);
if (settings.showNotification) {
new Notification(item.referenceNumber, options);
}
});
}
function tracker(referenceNumber) {
const url = "https://www.royalmail.com/business/track-your-item/#/";
const data = {"tracking-results" : referenceNumber};
$.get(url, data, trackerCallback);
}
function saveTrackable(item) {
chrome.storage.sync.get(null, (storage) => {
const settings = JSON.parse(storage.settings);
let trackItems = [];
item.setNextCheck(settings);
if(storage.hasOwnProperty('trackItems')) {
trackItems = JSON.parse(storage.trackItems);
}
const itemExists = trackItems.findIndex(oldItem => oldItem.referenceNumber === item.referenceNumber);
if(itemExists >= 0) {
trackItems[itemExists] = item;
}
else {
trackItems.push(item);
}
const save = {'trackItems': JSON.stringify(trackItems)};
chrome.storage.sync.set(save, () => {
chrome.runtime.sendMessage({action: 'loadTrackItems'});
loadTrackItems();
});
});
}
function loadTrackItems() {
getTrackItems().then( items => {
const trackItems = document.getElementById('trackItems');
if (trackItems) {
trackItems.innerHTML = renderTrackItems(items);
$('.show-track-history').click( (e) => loadTrackHistory(e.target.parentElement.parentElement.dataset.referenceNumber, showTrackHistory));
$('.remove-trackable').click( (e) => removeTrackable(e.target.parentElement.parentElement.dataset.referenceNumber));
$('.check-now').click( (e) => tracker(e.target.parentElement.parentElement.dataset.referenceNumber));
$('#checkAll').click(checkAll);
}
$(trackItems).transition('bounce');
});
}
function checkAll() {
getTrackItems().then( items => {
items.forEach( item => tracker(item.referenceNumber) );
});
}
function getTrackItems() {
const promise = new Promise( (resolve, reject) => {
let trackItems = [];
chrome.storage.sync.get('trackItems', storage => {
if(storage.hasOwnProperty('trackItems')) {
trackItems = JSON.parse(storage.trackItems, dateTimeReviver);
}
resolve(trackItems);
});
});
return promise;
}