小编kev*_*ink的帖子

你如何组织你的小型可重复使用的功能?

我正在重新组织我的ColdFusion目录结构,并对有经验的CF开发人员如何组织较小的cffunction库感到好奇.

我并不像精心设计的组件(对象)一样好奇,因为我是关于我们随着时间的推移建立的许多小实用功能.

  • 你是否使用带有cffunctions的大型单个文件并将其包含在内?
  • 您是使用大型单个文件作为cfcomponent并调用creatobject/cfinvoke吗?
  • 你是否将每个实用程序功能放在自己的cfc中并调用createobject/cfinvoke?
  • 你使用cfimport taglib语法吗?
  • 你使用CustomTags还是cfmodule?
  • 你有更好的方法吗?

由于我不喜欢详细的语法,所以我只是将包含一堆常见cffunction的lib.cfm包含在内.我可以将它们重构为cfcs,我可以创建对象,以便在变量范围上有更好的隔离.

有一个更好的方法吗?

architecture coldfusion cfimport

15
推荐指数
1
解决办法
3306
查看次数

XMLHttpRequest Post上send()数据参数的最大长度

对于主要的浏览器实现,您可以在XMLHttpRequest的send方法中使用的字符串数据的长度是否有文档记录?

当数据超过3k时,我遇到了一个JavaScript XMLHttpRequest Post在FireFox 3中失败的问题.我假设Post的行为与传统的Form Post相同.

W3C文档提到send方法的数据参数是DOMString,但我不确定主要的浏览器是如何实现的.

这是我的JavaScript的简化版本,如果bigText超过3k就失败了,否则它可以工作......

var xhReq = createXMLHttpRequest();

function createXMLHttpRequest() {
  try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
  try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {}
  try { return new XMLHttpRequest(); } catch(e) {}
  alert("XMLHttpRequest not supported");
  return null;
}

function mySubmit(id, bigText) {
  var url    = "SubmitPost.cfm";
  var params = "id=" + id + "&bigtext=" + encodeURI(bigText);

  xhReq.open("POST", url, true);

  //Send the header information along with the request
  xhReq.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xhReq.setRequestHeader("Content-length", params.length); …
Run Code Online (Sandbox Code Playgroud)

javascript ajax xmlhttprequest

9
推荐指数
1
解决办法
4万
查看次数

在多选列表框中使用Quicksilver样式进行jQuery实时搜索

我试图让John Resig的jQuery Live Search与Quicksilver Style一起使用选择多表单控件.他的代码基于 John Nunemaker的工作开发他的quicksilver.js代码.

我遇到的问题是,在选择框中只有Firefox支持.hide()选项值,我无法找到适合IE,Safari,Opera和Chrome的方法.

这是一个例子,我已经列出了John R的代码,但你需要抓住quicksilver.js并自己在本地托管它.同样,这在Firefox中很有用,但对rows.hide()的调用在其他浏览器上没有任何作用.

我已经尝试将标签包装在div中并隐藏但没有运气.

有任何想法吗?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>LiveSearch</title>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> 
  <script type="text/javascript" src="../jquery/quicksilver.js"></script>

  <script type="text/javascript" charset="utf-8">
     $(document).ready(function() {
        $('#q').liveUpdate('#posts').focus();
     });

     jQuery.fn.liveUpdate = function(list){
       list = jQuery(list);

       if ( list.length ) {
           // Changed 'li' to 'option' below
           var rows = list.children('option'),
              cache = rows.map(function(){
              return this.innerHTML.toLowerCase();
              });

           this
               .keyup(filter).keyup()
               .parents('form').submit(function(){
                   return false;
               });
       } …
Run Code Online (Sandbox Code Playgroud)

javascript jquery

6
推荐指数
1
解决办法
1万
查看次数