Я видел много решений, чтобы проверить, отключил ли пользователь JavaScript на стороне сервера в C# (и я имею в виду, что он действительно отключен, а не если браузер не поддерживает JavaScript, поскольку я уже пытался EcmaScriptVersion).Sitecore - WebMethod не называется
Вот две из статей, которые я нашел:
- How to detect if JavaScript is enabled from the server side in C#/.NET
- Detect if JavaScript is enabled in ASPX
В настоящее время я пытаюсь первый подход от Нуну Фрейтас, потому что кажется самым чистым без чтобы играть с параметрами строки запроса, но переменная сеанса никогда не устанавливается, а SetJavascriptEnabled никогда не вызывается.
Я добавил ScriptManager на моей странице ASPX, как этот
<asp:ScriptManager ID="scriptManager" runat="server" EnablePageMethods="true"/>
И сценарий запуска регистрируется как в статье (в случае OnPreRender), но это не показано на этой странице. Кстати, это сайт, на котором используется sitecore.
Любая помощь?
Мы не можем писать, записывая решение для вас. Приложите усилия, покажите нам какой-то код, объясните, почему он не работает ... –
Ваша проблема заключается не в том, чтобы обнаружить Javascript. Это вызов веб-методов. Вы должны задать вопрос о том, почему ваше первое решение не работает. – CodingIntrigue
И вы видите встроенную JS на странице? Просмотрите исходный код и проверьте «PageMethods.SetJavascriptEnabled» или аналогичный - если это не на странице, то он не будет вызываться. Также проверьте консоль браузера на наличие ошибок при вызове методов. –