плохая идея для производительности - неэкранирование предварительно экранированной функции javascript? - PullRequest
0 голосов
/ 30 сентября 2010

Я хочу предварительно скрыть часть моего кода JavaScript и затем включить его на мою страницу в форме eval (unescape ([code])).я бы пожертвовал производительностью?

Ответы [ 3 ]

2 голосов
/ 30 сентября 2010

Не беспокойтесь о сокрытии вашего кода JavaScript от пауков.Это должно быть наименьшим из ваших опасений, тем более что они не удосужились взглянуть на него (за исключением поиска дополнительных ссылок для сканирования).

http://googlewebmastercentral.blogspot.com/2007/11/spiders-view-of-web-20.html

1 голос
/ 30 сентября 2010

escape-последовательности символов Unicode

пример

var \u0062\u0061\u006E\u0061\u006E\u0061 = "\u0062\u0061\u006E\u0061\u006E\u0061";

анализируется как

var banana = "banana";

Расшифровка Base-36

(только для буквенно-цифровых данных без учета регистра)

parseInt("banana", 36);
> 683010982

683010982 .toString(36);
> "banana"

Это может работать для определенных типов данных, если вы разделите их и разделите числа.


Кодировка Base-64

Вы можете найти реализацию здесь ...

base64_encode("banana banana banana!")
> "YmFuYW5hIGJhbmFuYSBiYW5hbmEh"

base64_decode("YmFuYW5hIGJhbmFuYSBiYW5hbmEh")
> "banana banana banana!"

Base-85 кодировка

Упаковывает вещи немного меньше, чем base-64. Менее популярный формат, возможно, придется копать для реализации или сделать свой собственный.

1 голос
/ 30 сентября 2010

Если вы хотите что-то спрятать от пауков, используйте внешний скрипт и настройте robots.txt.

«хорошие» пауки примут это, «плохие» пауки все равно посмотрят, если захотят.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...