web-manager 3.1.24 → 3.1.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/lib/utilities.js +28 -13
  2. package/package.json +1 -1
package/lib/utilities.js CHANGED
@@ -1,16 +1,7 @@
1
1
  /*
2
2
  */
3
3
 
4
- var htmlEscapeMap = {
5
- '&': '&',
6
- '<': '&lt;',
7
- '>': '&gt;',
8
- '"': '&quot;',
9
- "'": '&#39;',
10
- '/': '&#x2F;',
11
- '`': '&#x60;',
12
- '=': '&#x3D;'
13
- };
4
+ var shadow;
14
5
 
15
6
  function Utilities(utilObj) {
16
7
  this.utilities = utilObj;
@@ -74,9 +65,33 @@ Utilities.clipboardCopy = function (input) {
74
65
  }
75
66
 
76
67
  // Escape HTML
77
- Utilities.escapeHTML = function (string) {
78
- return (string || '').replace(/[&<>"'`=\/]/g, function (s) {
79
- return htmlEscapeMap[s];
68
+ // https://stackoverflow.com/questions/6234773/can-i-escape-html-special-chars-in-javascript
69
+ // Utilities.escapeHTML = function (str) {
70
+ // shadow = shadow || document.createElement('div');
71
+ // shadow.textContent = str;
72
+
73
+ // return shadow.textContent.replace(/["']/g, function(m) {
74
+ // switch (m) {
75
+ // case '"':
76
+ // return '&quot;';
77
+ // default:
78
+ // return '&#039;';
79
+ // }
80
+ // });
81
+ // }
82
+
83
+ Utilities.escapeHTML = function (str) {
84
+ shadow = shadow || document.createElement('p');
85
+ shadow.innerHTML = '';
86
+ shadow.appendChild(document.createTextNode(str));
87
+
88
+ return shadow.innerHTML.replace(/["']/g, function(m) {
89
+ switch (m) {
90
+ case '"':
91
+ return '&quot;';
92
+ default:
93
+ return '&#039;';
94
+ }
80
95
  });
81
96
  }
82
97
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "web-manager",
3
- "version": "3.1.24",
3
+ "version": "3.1.25",
4
4
  "description": "Easily access important variables such as the query string, current domain, and current page in a single object.",
5
5
  "main": "index.js",
6
6
  "scripts": {