Прежде всего, весь мой сайт работает нормально.Все страницы до сих пор не имеют параметра URL.Теперь проблема начинается.У меня есть флэш-баннер, который должен быть статическим изображением PNG на мобильных устройствах Apple.Он прекрасно работает, пока я не создаю страницу с параметром (например: mysite.com/Controller1/Page1/1).Как только у меня появляется параметр, появляются оба баннера (flash и PNG).
Вот мой iOS.js:
if (navigator.userAgent.match(/iPad/i) || navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i))
{
alert("This was called - Mac mobile devices");
document.write('<style type="text/css"><!--#swf{display:none;}--></style>');
}
else {
alert("This was called - PC");
document.write('<style type="text/css"><!--#no-swf{display:none;}--></style><script src="js/swfobject_modified.js" type="text/javascript"></script>');
}
Вот сводка моего частичного заголовка представления (только что извлеченного из _Layout, где поведение было таким же):
@Html.JsScript("../../Scripts/iOS.js")
<div id="swf">
MY FLASH BANNER
</div>
<div id="no-swf">
MY STATIC IMAGE
</div>
Когда я пробую обычную страницу (без параметров), у меня всегда появляется окно сообщения This was called - PC
, но когда я добавляю параметр (даже на той же странице!), Я не получаю никакого сообщения.
Может быть, это проблема маршрутизации?Я максимально упростил, чтобы оставить только один маршрут:
routes.MapRoute(
null, // Nom d'itinéraire
"{controller}/{action}/{id}", // URL avec des paramètres
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Paramètres par défaut
);
Есть идеи о том, что происходит?