2013-04-20 6 views
3

Привет Я новичок в Приморском и Smalltalk. Я разрабатываю приложение поиска, в котором пользователь отправляет запрос, и система отображает соответствующие результаты. Теперь, чтобы реализовать обратную связь, я хочу знать, когда пользователь нажал конкретную ссылку. Таким образом, нажатие на ссылку включает в себя 2 вещи: 1) Переход к этой конкретной ссылке 2) Регистрация в фоновом режиме, который пользователь нажал на эту ссылку. Я застрял в этом. Было бы здорово, если бы кто-то мог помочь в этом. Я получил некоторое представление о том, как делать это, читая другие сообщения, где мне предлагалось выполнить обратный вызов и использовать javascript в этом обратном вызове, чтобы открыть ссылку. Может ли кто-то предоставить код для этого.Открыть ссылку в море, используя javascript

Спасибо.

ответ

1

Ответ зависит от того, что у вас есть ссылка. Является ли это ссылкой на (внешнюю) веб-страницу или является ли она ссылкой в ​​самом Приморском приложении? В случае с первым было бы целесообразно объединить обратный вызов Seaside для регистрации кликов и javascript для перехода к ссылке. Вы можете найти пример для этого в этом вопросе: seaside : 2 events on html anchor.

В другом случае, обратный вызов, который выполняется при нажатии на ссылку в приложении Seaside может сделать и регистрацию действий пользователя и навигации пользователя на другую страницу в приложении:

html anchor 
    callback:[ self registerClick. self call:: newPageComponent]; 
    with: 'click this' 

Просмотрите Seaside book, чтобы узнать все о обратных вызовах и навигации по компонентам.

+0

Спасибо за помощь. Но я уже пробовал это сделать, прежде чем публиковать здесь вопрос. Не работай для меня. – biNNi

+0

моя ошибка ... Я сделал #answer: вместо #call: –

+0

Я пытаюсь установить ссылку на внешнюю веб-страницу. Как вы уже упоминали, мы можем использовать javascript для перехода к ссылке. Можете ли вы опубликовать пример о том, как мы можем это сделать? Я попытался использовать метод onComplete: который вы запросили в этом сообщении. Но это не сработало. – biNNi