我正在开发一个支持 CSS 主题的系统。到目前为止没问题,我可以根据需要更改主题,但系统由两部分组成:
首先是系统的“骨架”:它包含菜单和更改主题的选项。该菜单加载第二部分的内容,第二部分主要由一个 iframe 组成,该 iframe 加载菜单点击调用的模块。
我可以使用以下代码更改系统第一部分的主题:
$("link").attr("href", "css/temas/"+theme_name+".css");
theme_name 是通过阅读菜单点击上的链接收集的。系统在这里没问题,不需要改变。除了更改主主题外,它还记录了一个 cookie,用于读取进一步的系统主题。
因此,系统的第二部分也读取该 cookie 以应用主题,但它不会像主要部分那样立即更改!
例如,当我点击主题图标时,它会立即应用主题而不刷新屏幕,但第二部分不会发生这种情况!它应用了主题,但只有在我重新加载 iframe 时才会显示,重新加载并不酷!
我正在尝试使用以下代码更改 iframe 主题:
$("#ifr_main link").attr("href", theme_name);
#ifr_main 是 iframe 名称!
有谁知道我怎样才能弄清楚并应用新的 CSS 而不必像在菜单上那样刷新页面?
最佳答案
您需要先选择 iFrame 的内容,然后再尝试选择它的链接元素。
$("#ifr_main").contents().find("link").attr("href", theme_name);
旁注,iFrame 可能很丑 :)
关于javascript - 重新加载 iFrame CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8346447/