javascript - 在 Javascript 中可靠地将标签添加到 <head>

标签 javascript html ajax dom iframe

我正在编写一个执行以下操作的程序:

  • 在 DOM 中创建 iframe
  • 向页面(网站的主页)发出 AJAX 请求
  • 如果页面已更改,我会使用 iframe.srcdoc = contents;到 iframe,其中 contents是从 AJAX 返回的内容

请注意,这样任何指定了相对 URL 的图像等都将无法正确呈现。为了使它看起来正确,我必须添加 <base>标记为<head> .

非常不愿意使用这样的正则表达式:

contents = contents.replace('<head>','<head><base href="http://www.example.com/">');

因为它可能会把事情搞砸(但是,我是否过于谨慎和过于偏执?)。

注意:我无法通过操作 DOM 来做到这一点:如果我这样做 iframe.srcdoc = contents;然后然后添加 <base>标签,页面仍然会错误地呈现。 <base>标签需要在我将其分配给 iframe.srcdoc 之前存在 ...

你会怎么做?

梅克。

最佳答案

使用appendChild DOM操作添加元素。

document.getElementsByTagName('head')[0].appendChild('<base href="http://www.site.com" />');

关于javascript - 在 Javascript 中可靠地将标签添加到 <head>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22976750/

相关文章:

javascript - 如何计算 MongoDB 中的实例数

javascript - 使用 jquery 将 html 元素从 div 更改为 ul

html - 输入组内的 Bootstrap 按钮

html - 菜单在移动设备上扭曲页面并在右侧创建空白

javascript - 从 javascript 运行 PHP 插入函数

javascript - $.ajax 没有返回响应

ruby-on-rails - Capybara Rspec 测试失败可能对 AJAX 造成影响 - 测试 contenteditables

javascript - AngularJS 的链式 promise

javascript - Bootstrap 模态中带有缩略图的滑动器

javascript - 一旦我再添加 1 个变量,函数就会停止工作?基于像素颜色为图像添加边界