首先,我的整個網站工作正常。到目前爲止,所有的頁面都沒有URL參數。現在問題開始了。我有一個Flash橫幅,必須是Apple移動設備上的PNG靜態圖像。它很好用,直到我用參數創建一個頁面(例如:mysite.com/Controller1/Page1/1)。只要我有一個參數,就會出現橫幅(flash和PNG)。阻止javascript正常工作的URL參數?
這裏是我的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
);
對發生了什麼事情有所瞭解?
通常,URL的上下文中的「參數」指的是查詢中的某些內容,如'/ path?param-name = param-value'。你在「mysite.com/Controller1/Page1/1」中的參數是什麼意思? – 2012-01-30 22:05:05
mysite.com/Controller1/Page1/1等於mysite.com/Controller1/Page1//path?id=1。它只是更清潔。當然它需要設置。 – Mathieu 2012-01-30 22:15:33
所以「mysite.com/Controller1/Page1」的作品,但「mysite.com/Controller1/Page1/1」不? – 2012-01-30 22:20:10