it-swarm.com.ru

Вызов функции Javascript из URL / адресной строки

Можно ли вызвать функцию JavaScript из URL? Я в основном пытаюсь использовать методы JS на странице, у меня нет доступа к источнику.

Что-то вроде: http://www.example.com/mypage.aspx?javascript:printHelloWorld()

Я знаю, если вы поместите javascript:alert("Hello World"); в адресную строку, он будет работать.

Я подозреваю, что ответ на этот вопрос - нет, но просто удивлялся, был ли способ сделать это.

95
DazManCat

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

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

54
Nick Craver

Написать в адресной строке

javascript:alert("hi");

Убедитесь, что вы пишете в начале: javascript:

20
hfarazm

Вы можете использовать данные URI. Например: data:text/html,<script>alert('hi');</script>

Для получения дополнительной информации посетите: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs

11
yassine45

/test.html#alert('heello ')

test.html
<button onClick="eval(document.location.hash.substring(1))">do it</button>
6
Budia

вы также можете разместить следующее

<a href='javascript:alert("hello world!");'>Click me</a>

на ваш html-код, и когда вы нажмете на гиперссылку "Нажми меня", в строке url появится javascript и появится диалоговое окно Alert

5
heximal

вы можете использовать эту ситуацию следующим образом: например, у вас есть страница: http://www.example.com/page.php, затем в этот page.php вставьте этот код:

if (!empty($_GET['doaction']) && $_GET['doaction'] == blabla ){
echo '<script>alert("hello");</script>';
}

затем всякий раз, когда вы посещаете этот URL: http://www.example.com/page.php?doaction=blabla

тогда оповещение будет вызвано автоматически.

2
T.Todua

Использование ответа Эдди сработало очень хорошо, так как у меня была такая же проблема. Просто вызовите ваш URL с параметрами: "www.mypage.html # myAnchor"

Затем в mypage.html:

$(document).ready(function(){
  var hash = window.location.hash;
  if(hash.length > 0){
    // your action with the hash
  }
});
1
EllemKah