如何使用js和css创建一个新的DOM元素,使其能够驻留在不同的域中
How to make a new DOM element to think it resides in a different domain with js and css
我正在创建一个新的dom元素:
var bubbleDOM = document.createElement('div');
bubbleDOM.setAttribute('class', 'selection_bubble');
document.body.appendChild(bubbleDOM);
然后,我使用.responseText以文本的方式将数据填充到此DOMXMLHttpRequest并最终更改其css:
.selection_bubble {
position: absolute;
}
直到现在一切都很好。我的问题是,我填充到的一部分数据DOM元素具有href链接,例如:/prop.php?id=333
这让他们认为链接真的来自我的网站,所以当用户点击它时,他会转到:http://www.mywebsite.com/prop.php?id=333
我希望这些链接出现在网站上(我知道它的名字只有一个我正在从中提取数据),因为它们应该是:http://www.thesitei'mpullingfrom.com/prop.php?id=333
我如何用CSS或JS来改变这一点?
为了改进我对这个问题的原始评论:
为了只修复以斜杠(/)开头的URL,应该运行以下命令:
(根据固定表达式的注释进行编辑)
responseText.replace(/(href=")('/[^"]+)"/g, "$1http://thesiteimpullingfrom.com$2'"")
将(X)HTML解析为DOM Object
,然后获取所有锚Element
并替换它们的href属性。例如:
var i = 0, n ;
var l ;
var s ;
l = dom.getElementsByTagName("a") ;
for( n = l.length; i < n ; i++ ) {
o = l[i] ;
if( !! ( s = o.getAttribute("href") ) ) {
// add domain to s
o.setAttribute("href") ;
}
}
相关文章:
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 是否有任何snippet或jQuery插件可以列出easylist.txt模式匹配的DOM中的所有元素
- 在不使用JQuery的情况下隐藏DOM中的选定元素
- 如何在DOM元素上按类型构建此函数
- DOM元素和angular元素之间的主要区别是什么
- 当带有渲染器的DOM元素不在屏幕顶部时,移动了场景的坐标
- 如何使用JavaScript在没有html dom的情况下隐藏html元素
- 使用jquery创建dom元素会导致ie9出现拒绝访问错误
- 通过AJAX侦听向DOM添加某些元素
- 如何在使用Ractive.extend()时引用DOM元素
- 在d3中向DOM元素添加了图像,但现在它赢得了't过渡
- Selenium无法在浏览器DOM中定位元素
- 如何'剪切'DOM元素并将其显示在其他位置
- 转换<a>使用jQuery将文本字符串转换为dom元素
- 从dom中删除任何元素后,Touchmove事件停止触发
- d3在数据更新时错误地附加了dom元素
- 访问VueJS中的DOM元素
- 在Meteor中如何查找DOM元素(渲染后)
- 找到元素DOM的根节点(阴影或光)的最佳方法是什么?
- 在querySelector:如何获得第一个和最后一个元素?dom中使用的遍历顺序