根据可编辑的内容更改窗口标题

时间:2019-12-04 22:04:08

标签: javascript google-chrome bookmarklet bookmarks

我希望将变量(例如“ title”)设置为窗口标题,然后,如果您将内容设置为可编辑,则该窗口将被称为“ Edit On”,并且在您将其关闭时它将窗口标题设置为变量“ title”。尽管我仍然不太了解JavaScript,所以如果有人可以编写代码行或帮助我会很有帮助。这是我当前正在使用的代码。

document.body.contentEditable = document.body.contentEditable == 'true' ? 'false' : 'true'; 
document.designMode=document.designMode == 'on' ? 'off' : 'on';
document.close;

1 个答案:

答案 0 :(得分:0)

我不确定您要达到的目标,但是如果将contentEditable设置为true,则整个过程都不​​会再发生。用户将如何离开“编辑模式”?

但是,您可以做的是向DOM中添加一个空的HTML <div>元素,使其几乎等于浏览器窗口的整个大小,并添加类似“就绪”按钮的内容。

针对您的用例,有两个有用的事件侦听器:

onfocus::用户单击div内的某个位置/在其中键入任何内容后,就会触发此操作。如果被解雇,请更改文档标题。

onblur :用户点击div以外的某个位置时,它将立即触发。如果被解雇,请将文档标题重置为默认名称。

此外,您还可以在“就绪”按钮上添加一个点击侦听器,以退出编辑模式并更改文档标题。

这是一个例子:

<html>
<head>
</head>
<body>
<div id="myDiv" style="width:100%;height:90%;background-color:rgb(240,240,240)" contentEditable=true>
</div>
<button id="readyButton">Ready</button>
<script type="text/javascript">
var myDocumentTitle = "My Title";
document.title = myDocumentTitle;
var myDiv = document.getElementById("myDiv");
myDiv.onfocus = function() {
  document.title = "Edit On";
}
myDiv.onblur = function() {
  document.title = myDocumentTitle;
}
var myButton = document.getElementById("myButton");
myButton.onclick = function() {
  document.title = myDocumentTitle;
}
</script>
</body>
</html>