目前,我在一个具有多种语言的大型网站上面临着一个令人讨厌的问题。到达网站后,它会检测您来自哪个国家/地区并提示您确认。确认后,它会从数据库中换出页面语言并显示相关语言。这是使用 jQuery 完成的。现在的问题是阿拉伯语读取 rtl,所以我需要:
-- 将样式表换成“rtl”版本
或者
-- 更改 HTML 标记并包含 "dir='rtl'" arrtribute
现在,我已经尝试了这两种方法,但都失败了。当我查看页面源代码时,它仍然显示没有“dir”属性的旧 Css 文件或 HTML 标记。如果我错了,请纠正我,但我认为这是由于 DOM 没有注册新的更改,因为它们是在 DOM 被实例化后通过 jQuery 异步发生的。
毕竟那些废话和tldr;
有没有更简单的方法来动态交换文本方向?如果这是一个 DOM 问题,我如何在异步回调后重新加载 DOM?
我已经在这个问题上待了几个小时,并且在 interwebz 上运气不佳。
欢迎并非常感谢任何和所有帮助。
亲切的问候,
威廉·弗朗西斯
编辑:
经过大量调查,我发现真正以阿拉伯语方式工作的唯一方法是回发。一旦选择了语言,您就可以进行回发,然后它只是一个从后面的代码更改样式表 HREF 属性的简单过程。似乎没有任何形式的 JavaScript 或 jQuery 可以在没有回发的情况下更改它并且仍然反映新的样式表。注意:您需要在每次回发时设置样式表 HREF,即通过母版页。样式表更改不会跨页面持续存在。
这是一个帮助很大的网站,它解释了很多关于使用 JavaScript 更改样式表的内容。可悲的是,它对我不起作用。