2014-10-17 2 views
0

Я видел много решений, чтобы проверить, отключил ли пользователь JavaScript на стороне сервера в C# (и я имею в виду, что он действительно отключен, а не если браузер не поддерживает JavaScript, поскольку я уже пытался EcmaScriptVersion).Sitecore - WebMethod не называется

Вот две из статей, которые я нашел:

В настоящее время я пытаюсь первый подход от Нуну Фрейтас, потому что кажется самым чистым без чтобы играть с параметрами строки запроса, но переменная сеанса никогда не устанавливается, а SetJavascriptEnabled никогда не вызывается.

Я добавил ScriptManager на моей странице ASPX, как этот

<asp:ScriptManager ID="scriptManager" runat="server" EnablePageMethods="true"/> 

И сценарий запуска регистрируется как в статье (в случае OnPreRender), но это не показано на этой странице. Кстати, это сайт, на котором используется sitecore.

Любая помощь?

+1

Мы не можем писать, записывая решение для вас. Приложите усилия, покажите нам какой-то код, объясните, почему он не работает ... –

+0

Ваша проблема заключается не в том, чтобы обнаружить Javascript. Это вызов веб-методов. Вы должны задать вопрос о том, почему ваше первое решение не работает. – CodingIntrigue

+1

И вы видите встроенную JS на странице? Просмотрите исходный код и проверьте «PageMethods.SetJavascriptEnabled» или аналогичный - если это не на странице, то он не будет вызываться. Также проверьте консоль браузера на наличие ошибок при вызове методов. –

ответ

0

В основном, что эти статьи проверяют, является то, что если не происходит никакого вызова ajax с клиентской стороны на сервер даже после написания кода ajax ($ .ajax), то javascript отключается. Это косвенный способ проверки.

+0

Тогда какой будет более прямой подход? –

+0

@ HélderGonçalves Там действительно не один :(Это ваши лучшие ставки, но они косвенны и подвержены обеим задержкам (вы не будете знать до тех пор, пока первая страница не загрузится, а JS не запустится), а пользователь может перемещаться до вызова, или он может не завершиться - ни один из них не идеален. –

Смежные вопросы