Звоните на сайте со страницы содержимого ASP.NET - PullRequest
3 голосов
/ 29 августа 2008

У меня есть метод JavaScript, который мне нужно запустить на одной из моих страниц, в частности, событие onresize.

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

Любая помощь будет оценена.

Ответы [ 3 ]

4 голосов
/ 29 августа 2008

Поместите следующее на своей странице контента:

<script type="text/javascript">

// here is a cross-browser compatible way of connecting 
// handlers to events, in case you don't have one
function attachEventHandler(element, eventToHandle, eventHandler) {
    if(element.attachEvent) {
       element.attachEvent(eventToHandle, eventHandler);
    } else if(element.addEventListener) {
       element.addEventListener(eventToHandle.replace("on", ""), eventHandler, false);
    } else {
    element[eventToHandle] = eventHandler;
  }
}

attachEventHandler(window, "onresize", function() {
    // the code you want to run when the browser is resized
});

</script>

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

0 голосов
/ 20 мая 2009

У меня была такая же проблема, и я наткнулся на этот пост:

Пересмотр ошибки IE IEize

Приведенный выше код работает, но в IE возникает проблема, когда onresize срабатывает, когда тег body меняет форму. Этот блог дает альтернативный метод, который хорошо работает

0 голосов
/ 29 августа 2008

Как насчет использования кода, подобного следующему на вашей странице контента (C #)?

Page.ClientScript.RegisterStartupScript(this.GetType(), "resizeMyPage", "window.onresize=function(){ resizeMyPage();}", true);

Таким образом, вы можете иметь функцию resizeMyPage, определенную где-то в Javascript, и она будет запускаться всякий раз, когда изменяется размер браузера!

...