Content deleted Content added
m escape single quotes in temp_deleted_line filter |
m Maintenance: Fixing deprecated call to addPortletLink (mw:ResourceLoader/Migration_guide_(users)#addPortletLink) |
||
(7 intermediate revisions by one other user not shown) | |||
Line 1:
//<pre>
// Summarizes the differences between two page versions in pop-up windows
// Perhaps calculate fractional change in document?
//
// To use this script, add "importScript('User:Proteins/quickdiffs.js');" to your monobook.js subpage
// under your user page, as you can see at User:Proteins/monobook.js
function quickDiffs() {
Line 213 ⟶ 217:
}
// Get
mw_diff_otitle1_text = "";
mw_diff_otitle1 = document.getElementById('mw-diff-otitle1');
Line 231 ⟶ 235:
} // closes check for child node
} // closes check for mw_diff_otitle1 node
mw_diff_otitle2_text = "";
// Loop over the rows in the difference table▼
mw_diff_otitle2 = document.getElementById('mw-diff-otitle2');
if (!mw_diff_otitle2) {
window.alert("ERROR: This article has no element with id \"mw-diff-otitle2\".\n\n");
} else {
mw_diff_otitle2_child = mw_diff_otitle2.firstChild;
if (!mw_diff_otitle2_child) {
window.alert("ERROR: The \"mw-diff-otitle2\" element has no child node.\n\n");
} else {
mw_diff_otitle2_text = mw_diff_otitle2_child.innerHTML;
} // closes check for child node
} // closes check for mw_diff_otitle2 node
// window.alert("The mw_diff_otitle2_text is " + mw_diff_otitle2_text + "\n");
mw_diff_otitle3_text = "";
mw_diff_otitle3 = document.getElementById('mw-diff-otitle3');
if (!mw_diff_otitle3) {
window.alert("ERROR: This article has no element with id \"mw-diff-otitle3\".\n\n");
} else {
mw_diff_otitle3_text = mw_diff_otitle3.innerHTML;
mw_diff_otitle3_text = mw_diff_otitle3_text.replace(/>/ig, ">");
mw_diff_otitle3_text = mw_diff_otitle3_text.replace(/</ig, "<");
mw_diff_otitle3_text = mw_diff_otitle3_text.replace(/(<([^>]+)>)/ig,"");
} // closes check for mw_diff_otitle3 node
// window.alert("The mw_diff_otitle3_text is " + mw_diff_otitle3_text + "\n");
// Possibly add code for mw_diff_otitle4 here, but seems unneeded
// Get header texts for newer version
mw_diff_ntitle1_text = "";
mw_diff_ntitle1 = document.getElementById('mw-diff-ntitle1');
if (!mw_diff_ntitle1) {
window.alert("ERROR: This article has no element with id \"mw-diff-ntitle1\".\n\n");
} else {
mw_diff_ntitle1_child = mw_diff_ntitle1.firstChild;
if (!mw_diff_ntitle1_child) {
window.alert("ERROR: The \"mw-diff-ntitle1\" element has no child node.\n\n");
} else {
mw_diff_ntitle1_grandchild = mw_diff_ntitle1_child.firstChild;
if (!mw_diff_ntitle1_grandchild) {
window.alert("ERROR: The \"mw-diff-ntitle1\" element has no grandchild node.\n\n");
} else {
mw_diff_ntitle1_text = mw_diff_ntitle1_grandchild.innerHTML;
} // closes check for grandchild node
} // closes check for child node
} // closes check for mw_diff_ntitle1 node
// window.alert("The mw_diff_ntitle1_text is " + mw_diff_ntitle1_text + "\n");
mw_diff_ntitle2_text = "";
mw_diff_ntitle2 = document.getElementById('mw-diff-ntitle2');
if (!mw_diff_ntitle2) {
window.alert("ERROR: This article has no element with id \"mw-diff-ntitle2\".\n\n");
} else {
mw_diff_ntitle2_child = mw_diff_ntitle2.firstChild;
if (!mw_diff_ntitle2_child) {
window.alert("ERROR: The \"mw-diff-ntitle2\" element has no child node.\n\n");
} else {
mw_diff_ntitle2_text = mw_diff_ntitle2_child.innerHTML;
} // closes check for child node
} // closes check for mw_diff_ntitle2 node
// window.alert("The mw_diff_ntitle2_text is " + mw_diff_ntitle2_text + "\n");
mw_diff_ntitle3_text = "";
mw_diff_ntitle3 = document.getElementById('mw-diff-ntitle3');
if (!mw_diff_ntitle3) {
window.alert("ERROR: This article has no element with id \"mw-diff-ntitle3\".\n\n");
} else {
mw_diff_ntitle3_text = mw_diff_ntitle3.innerHTML;
mw_diff_ntitle3_text = mw_diff_ntitle3_text.replace(/>/ig, ">");
mw_diff_ntitle3_text = mw_diff_ntitle3_text.replace(/</ig, "<");
mw_diff_ntitle3_text = mw_diff_ntitle3_text.replace(/(<([^>]+)>)/ig,"");
} // closes check for mw_diff_ntitle3 node
// window.alert("The mw_diff_ntitle3_text is " + mw_diff_ntitle3_text + "\n");
// Possibly add code for mw_diff_ntitle4 here, but seems unneeded
▲// Loop over the rows in the difference table
num_alert_strings = 0;
alert_string_list[0] = "NONE";
Line 331 ⟶ 412:
temp_added_line = temp_added_line.replace(/\s+/ig, " ");
} else { temp_added_line = ""; }
if (temp_added_line.replace(/\s/ig, "").length < 1) { num_diff_addedlines = 0; continue; }
added_span_nodes = temp_table_datum.getElementsByTagName("SPAN");
if (!added_span_nodes) { num_added_spans = 0; continue; }
Line 373 ⟶ 454:
temp_deleted_line = temp_deleted_line.replace(/\s+/ig, " ");
} else { temp_deleted_line = ""; }
if (temp_deleted_line.replace(/\s/ig, "").length < 1) { num_diff_deletedlines = 0; continue; }
deleted_span_nodes = temp_table_datum.getElementsByTagName("SPAN");
if (!deleted_span_nodes) { num_deleted_spans = 0; continue; }
Line 398 ⟶ 479:
} // closes loop over the data within a table row
if ((num_diff_addedlines > 0) && (temp_added_line) && (num_diff_deletedlines > 0) && (temp_deleted_line)) {
current_new_line_number++;
current_old_line_number++;
Line 451 ⟶ 532:
current_old_line_number++;
} // closes classification change as addition, deletion or replacement
} // closes loop over the table rows
Line 515 ⟶ 593:
addOnloadHook(function () {
mw.util.addPortletLink('p-cactions', 'javascript:quickDiffs()', 'qd', 'ca-
});
|