использование поверхности famo.us для ссылки на другой URL

Кажется, это должно быть очевидно, но... Как вы можете использовать поверхность famo.us в качестве ссылки на другую веб-страницу?

Я пробовал:

this.fooSurface.on("click", function(){
        window.location.replace("www.foo.com");
    });

но это не заменяет URL-адрес, он просто помещает новый URL-адрес в конец адреса, который в настоящее время находится в строке URL-адреса. window.location.href = "www.foo.com" дает тот же результат.

РЕДАКТИРОВАТЬ: window.location.assign("www.foo.com") и window.location = ("foo") также имеют тот же результат. Я думаю, что это как-то связано с этим скриптом в шаблоне index.html:

 <script type="text/javascript">
        require.config({baseUrl: 'src/'});
        require(['main']);
 </script>

person Sam Seidenberg    schedule 25.08.2014    source источник


Ответы (2)


Вместо этого используйте window.location.assign("http://www.foo.com");.

Я, вероятно, не стал бы использовать метод replace() лично, так как replace() переключает текущую страницу в истории документа на ту, которую вы предоставляете методу, что я не могу сказать, что когда-либо находил полезным как пользователь, если нет пустая промежуточная страница входа в систему или что-то очень конкретное (и временное).

Или вы даже можете просто использовать window.location = "http://www.foo.com";

https://developer.mozilla.org/en-US/docs/Web/API/Window.location

person Kraig Walker    schedule 25.08.2014
comment
Оба они имеют одинаковый эффект: URL-адрес, который нужно связать, просто помещается в конец URL-адреса, который в данный момент находится в строке URL-адреса. - person Sam Seidenberg; 26.08.2014
comment
Те же результаты в Chrome, Safari и Firefox. - person Sam Seidenberg; 26.08.2014

Я смог заставить все работать нормально с помощью стандартного генератора, который вам дает известный. Тег script не имеет к этому никакого отношения. Это конфигурация для загрузки RequireJS в библиотеку famo.us с помощью AMD.

var logo = new ImageSurface({
    size: [200, 200],
    content: '/content/images/famous_logo.png',
    classes: ['backfaceVisibility']
});

logo.on('click', function() {
    window.location.href ='http://www.google.com';
});

Эта проблема, с которой вы столкнулись, также не связана с famo.us. Это ваш Javascript...

person Kraig Walker    schedule 26.08.2014