分类目录归档:web

通过表单提交simditor中的内容

使用中发现,simditor并没有自动将编辑器中的内容同步到textarea中,内容只能通过api获取,这使得无法直接使用表单的submit提交。

解决方法:editor在值改变时实时同步到textarea的中

补充:为了方便在后端语言直接向编辑器写入默认值,在编辑器加载时将textarea中的值默认传递给simditor;在自动保存插件启用时,优先保证自动保存的内容被加载到simditor中

关键代码如下:

<textarea id="editor" placeholder="Balabala" autofocus>123</textarea>

<script type="text/javascript">
var editor = new Simditor({
    textarea: $('#editor'),
});
if(editor.getValue() == ''){//当自动保存插件开启时
    //无自动保存数据,将textarea中的值赋值给editor
    editor.setValue(document.getElementById("editor").innerHTML)
}else{
    document.getElementById("editor").innerHTML = editor.getValue();
}
editor.on("valuechanged",function(){//simditor窗口内容改变实时同步至textarea
    document.getElementById("editor").innerHTML = editor.getValue();
})
</script>

 

debian下开启.htaccess rewrite功能

1、启用rewrite模块

root身份执行:a2enmode rewrite

此时提示需要重启apache,先不管

2、修改根目录配置

方案一:vi /etc/apache2/apache2.conf
将对应目录或根目录下AllowOverride 属性修改为All
<Directory /home/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
方案二:若directory配置位于虚拟主机配置文件中,需要修改/etc/apache2/sites-enable/下对应配置文件。

3、重启服务器

root身份执行:/etc/init.d/apache2 restart 或 service apache2 restart

.htaccess二三事

近日写一些小的项目时遇到了url的一些奇葩需求,折腾许久终于解决,现在把解决方案记录下来。

1、将http://domain/admin/*的访问重写至http://domian/admin.php下,剩下的重写至index.php下

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^admin/[a-zA-Z0-9_?&/]*$ admin.php [L]
RewriteRule ^admin admin.php [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php
</IfModule>

2、将所有访问重写至index.html文件

实现:将对http://domain/archives/1的访问重写至http://domain/index.html下,使用JavaScript获取的url地址将包含archives/1。
因为简单的RewriteRule 不加参数直接写脚本名称只适用于目标脚本为动态语言脚本,即可以适用于index.php,若为index.html则报404错误。此时需要做特殊处理。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule [a-zA-Z0-9_?&]$ index.html
RewriteRule [a-zA-Z0-9_?&]/$ index.html
</IfModule>