Вопрос

У меня небольшая проблема. Когда я выполняю JavaScript в адресной строке и функцию, которую я звоню, там возвращает значение. Страница перемещается на новую страницу. Чтобы предотвратить это, я использую пустоту (0) в конце. Но как только это сделано, как я могу захватить возвращенное значение функции.

Например:

javascript:function f(){return 'success'} f();void(0);

Как зафиксировать возвращаемое значение, когда я ввожу это в адресной строке?

Это было полезно?

Решение

Как насчет чего-то вроде этого:

javascript:function f(){return 42}; var r = f(); alert("The result is " + r); void(0);

Другие советы

Так что, если я пойму это, что вы хотите:

  • На странице, которую вы создали, вы хотите ввести JavaScript в адресной строке
  • На странице - вы хотите поймать результат от функции, в которой вы вводите в адресной строке

Я не уверен, что понимаю причину, по которой вы хотели бы сделать это, поэтому, если вы опишите, что, возможно, мой ответ не будет очень хорошим.

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

javascript:function f(){return 'success'} test(f());void(0);

Если у вас есть этот JavaScript на странице, он будет вызван, и появится предупреждение с текстом «Успех».

<script type="text/javascript">
function test(x)
{
 alert(x);
}
</script>

Необходимо сказать, что я не могу представить, когда использовать это, возможно, тестирование функций JavaScript на странице.

Невозможно изменить адресную строку без навигации по документу. Это факт.

Когда дело доходит до выполнения JavaScript в адресной строке с помощью обработчика PSEUDO протокола javascript увидеть мой ответ на Как функция JavaScript может сделать что-то сделать?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top