将代码添加到<身体>使用bookmarklet标记
Adding code to <body> tag with bookmarklet
我正在制作一个bookmarklet,为用户提供任何页面上的导航链接。我有我需要的代码,但在使用document.body.innerHTML时遇到问题。
这是代码
document.body.innerHTML = "<style>
body{padding:0;margin:0;}
.myFloatBar{
bottom:0;
left:0;
width:100%;
position:fixed;
}
</style>
<div class="myFloatBar">
<a href="javascript: history.back();"><img src="https://6895974884731443be5a54869b555c239e101a11.googledrive.com/host/0B-uT9QTKkBoROS03Z1FxaHJrVGM/nav/back3.png" border="0"></a>
<a href="javascript: location.reload();"><img src="https://6895974884731443be5a54869b555c239e101a11.googledrive.com/host/0B-uT9QTKkBoROS03Z1FxaHJrVGM/nav/refresh3.png" border="0"></a>
<a href="javascript: history.forward();"><img src="https://6895974884731443be5a54869b555c239e101a11.googledrive.com/host/0B-uT9QTKkBoROS03Z1FxaHJrVGM/nav/forward3.png" border="0"></a>
</div>";
但无论我做什么,我似乎都找不到问题所在
我还试着通过一个"html编码器"运行它,认为引号是问题所在,但这也不起作用
我做错了什么?
双引号是个问题——最快的解决方法是在字符串周围使用单引号。此外,在body元素上使用innerHTML方法实际上会删除body的全部内容,并用新元素替换它。如果您只想附加(添加到)正文,请改用insertAdjacentHTML方法。
document.body.insertAdjacentHTML('beforeend','<style>
.myFloatBar{
bottom:0;
left:0;
width:100%;
position:fixed;
}
</style>
<div class="myFloatBar">
<a href="javascript: history.back();"><img src="https://6895974884731443be5a54869b555c239e101a11.googledrive.com/host/0B-uT9QTKkBoROS03Z1FxaHJrVGM/nav/back3.png" border="0"></a>
<a href="javascript: location.reload();"><img src="https://6895974884731443be5a54869b555c239e101a11.googledrive.com/host/0B-uT9QTKkBoROS03Z1FxaHJrVGM/nav/refresh3.png" border="0"></a>
<a href="javascript: history.forward();"><img src="https://6895974884731443be5a54869b555c239e101a11.googledrive.com/host/0B-uT9QTKkBoROS03Z1FxaHJrVGM/nav/forward3.png" border="0"></a>
</div>')
工作小提琴
http://jsfiddle.net/fNPvf/9226/
你不需要document.body.innerHTML
在head标签
相关文章:
- 为什么要使用0>javascript中的0
- 如何更改<选择>使用angularJS从控制器获得的值
- 使用下拉列表筛选列表(ul>li)
- 使用Javascript,如何显示<tr>在另一<tr>悬停时,隐藏第二个<tr>
- 使用<ahref>使用谷歌脚本在谷歌表单GUI中标记
- W3验证器->使用<脚本类型=“;text/javascript”>在html的正文中
- Typescript angularjs$http获取响应类型(避免使用<any>)
- 如何逃离<脚本>jquery html()中的标记.我使用了innerHTML和outerHTML来解决这个
- 选择<李>使用普通JavaScript的子节点,而不是孙节点
- 有没有一种方法可以检测ios<>使用jquery和触发器操作形成导航按钮
- 为什么当CRLF被分配到<输入>使用php
- 使用<按钮>
- 在<代码>使用JSX标记
- 使用谷歌地图api计算距离并将其设置在表格中<td>
- 在不使用<地图>
- 使用Razor/C#循环浏览HTML表以获得每个<tr>
- 转换<a>使用jQuery将文本字符串转换为dom元素
- 使用几个<脚本>标签不会't工作-只调用一个脚本
- 使用<表单>和POST
- 当对List< t& gt;使用EditorFor时,客户端验证没有显示消息