我的bookmarklet包含对插入的"启动器"脚本的调用body.在运行时,它以类似的方式插入更多脚本(jQuery,实际应用程序)和CSS.
小书签
javascript:(function(){
var l = document.createElement('script');
l.setAttribute('type','text/javascript');
l.setAttribute('src','launcher.js');
document.body.appendChild(l);
})();
Run Code Online (Sandbox Code Playgroud)
Launcher.js
var s = document.createElement('script');
s.setAttribute('type','text/javascript');
s.setAttribute('src','my actual script');
document.body.appendChild(s);
// I repeat a block like this once per script/css.
Run Code Online (Sandbox Code Playgroud)
问题是如果单击两次书签,将再次插入所有脚本.我该如何防止这种行为?
虽然我在任何地方都设置了UTF-8(在我的lein项目中,slime-lisp组自定义,Emacs缓冲区本身......),我在尝试运行代码时不断收到此错误(def beta "?"):
Coding system iso-latin-1-unix not suitable [...]
Run Code Online (Sandbox Code Playgroud)
例如,仅在Emacs中发生,而不是在lein repl从命令行运行时发生.
可能是什么原因造成的?我正在使用Ubuntu,如果这有任何区别.
我不是指平滑滚动,而是将光标保持在一个固定点,并且总是一次移动一个'screenful',一行一行(在Eclipse或其他IDE中)按ctrl +向上/向下.
然后,当按下平原上/下时,屏幕会在必要时跳转以确保光标的可见性.
不知道怎么叫.
它是否已在Emacs中实施?
据我所知,Clojure recur是由编译器支持的,而在其他lisps中它是在较低级别实现的.
在我读到的时候,这不是一般的"TCO".除了显而易见的(需要一个关键字+检查),它在recur哪些方面不那么强大?
每当我打开一个HTML标签时,我都希望自动插入相应的关闭HTML标签.
所以,如果我输入
<div>
Run Code Online (Sandbox Code Playgroud)
我应该得到
<div></div>
Run Code Online (Sandbox Code Playgroud)
无需打电话给sgml-close-tag自己.
怎么做到这一点?
Lynx是一款非常酷的文本浏览器.如何从emacs启动它?
我目前的做法是Mx shell,那么lynx.但它提示我我的终端类型(我不知道 - 我在GNOME上使用终端和GUI Emacs).默认选项使输出几乎不可读.
所以我把一些东西复制到戒指上:
(car kill-ring) ; #("foo" 0 4 (fontified t))
Run Code Online (Sandbox Code Playgroud)
那我该如何得到这个文本属性的主要内容,即字符串"foo"?
正如所有经验丰富的elispers在某些时候发现的那样,代码就像破了:
(let ((a 3)
(b 4)
(c (+ a b)))
c)
Run Code Online (Sandbox Code Playgroud)
let*当引用绑定子句中的刚绑定变量时,应该使用表单.
我只是想知道 - 为什么看似错误的行为是默认的?let*无论人们如何使用它,总是有选择的风险吗?
emacs ×6
clojure ×4
elisp ×2
bookmarklet ×1
html-mode ×1
javascript ×1
lisp ×1
lynx ×1
paul-graham ×1
recursion ×1
scroll ×1
sgml-mode ×1
slime ×1
stm ×1
unicode ×1