web-manager 3.1.24 → 3.1.25

Sign up to get free protection for your applications and to get access to all the features.
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": {