我正在尝试创建一个可以从其他域引用的 Javascript 文件,该文件将允许更改用户页面的外观。
例如,javascript 文件 (www.mywebsite.com/123.js) 将在 www.userwebsite.com 上引用,并且可能包含以下内容:
var thebody = document.getElementsByTagName('body')[0];
var newdiv = document.createElement('div');
var txtNode = document.createTextNode("Hello. This is a new node.");
var divIdName = "mydiv";
var csslink = "http://www.anotherwebsite.com/style.css";
var newcss = document.createElement('link');
newcss.setAttribute('href',csslink);
newcss.setAttribute('rel','stylesheet');
newcss.setAttribute('type','text/css');
newdiv.setAttribute('id',divIdName);
newdiv.appendChild(txtNode);
thebody.appendChild(newdiv);
thebody.appendChild(newcss);
这将插入对托管在用户网站上的 CSS 文件的引用,并使用文本节点“你好。这是一个新节点”向 DOM 添加一个新 div。
我希望用户能够登录到 CMS(我将构建),这样他们就可以更改打印到页面的文本,而无需更改我提供给他们的 Javascript 文件。CMS 将托管在我的网站上。
这样做的最佳做法是什么?
显然,我可以远程编辑 javascript 文件,而用户无需更改任何内容 - 但这是更新脚本的最佳方法吗?
我正在考虑在 javascript 中有一个 Ajax 请求,该请求从引用 mysql 数据库的 php 文件中检索输出,其中包含用户想要更改的文本 - 但是,相同的来源策略意味着这是不可能的。
谢谢