我有这个javascript,带我到西班牙语版本的网页。 但如果URL是www.domain.com/,没有filename.aspx(如index或default.aspx) 它不会带我去西班牙的网站。
// Index - Inicio
if (url.indexOf("inicio") > 0)
newURL = url.replace("~/es/inicio.aspx", "~/index.aspx");
else
newURL = url.replace("~/index.aspx", "~/es/inicio.aspx");
然后如果我创建这样的另一个javascript,它就不会这样做,它只会将页面添加到url,在第一个url之后...
if (url.indexOf("inicio") > 0)
newURL = url.replace("~/es/inicio.aspx", "/");
else
newURL = url.replace("/", "~/es/inicio.aspx");
我该如何解决?
如果我点击ESPANOL,就不会把我带到/es/inicio.aspx页面。 因为我首先加载页面时的URL没有index.aspx它只是域
解 修正了这种情况如下: 创建default.aspx并在IIS文档管理中首先设置优先级。 而default.aspx里面有这个脚本。这样做对我来说,网站内部的javascript现在可以创造奇迹。 URL始终为URL / index.aspx
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Response.Redirect("~/index.aspx", false);
}
</script>
答案 0 :(得分:1)
首先,JavaScript URL重定向不支持Tild Sign
。
其次,为什么不使用Window.Location = "URL";
?
答案 1 :(得分:0)
您在这里打电话给“替换()”:
newURL = url.replace("/", "~/es/inicio.aspx");
表示用替换字符串替换URL中的第一个“/”字符。如果URL包含的字符多于斜杠(似乎很可能),那么它们将在替换后保留。我们不知道您的整体网址方案是什么,但如果您只想替换原始网址,则只需执行以下操作:
newURL = "~/es/inicio.aspx";
并完全免除“replace()”。