小编Rob*_*b W的帖子

jRails vs. Prototype

我并不是想把它作为一个偏好问题,我真的很想知道人们使用jQuery和Rails或jRails进行开发的经历是什么.到目前为止,包括我在内的大多数rails用户都在使用Prototype.但是,我混合使用了很多jQuery插件,因为它们非常易于使用和扩展.

我现在正在考虑从Prototype转移到jQuery以获得新的Rails项目.但是,我喜欢Prototype的力量.Protoype几乎是一种新的语言,它位于JS的顶层,而我发现jQuery就像一个很棒的脚本语言,有很多语法糖和链接.

无论如何,你的想法将不胜感激.

javascript jquery ruby-on-rails prototypejs

10
推荐指数
2
解决办法
6313
查看次数

使用原型观察方法禁用链接

我想创建一个这样的链接:

<a href="http://example.com">text</a>
Run Code Online (Sandbox Code Playgroud)

并替换行为,以便链接在单击时使用Ajax下载内容.

对我来说重要的是不要替换href属性(因此复制链接仍然有效).

一种解决方案是:

$('link').onclick = function() { return false; };
Run Code Online (Sandbox Code Playgroud)

但我想使用.observe方法.但这不起作用:

$('link').observe('click', function() { return false; });
Run Code Online (Sandbox Code Playgroud)

(这很合乎逻辑).

有关如何实现这一目标的任何想法?

谢谢.

javascript unobtrusive-javascript prototypejs

10
推荐指数
2
解决办法
6229
查看次数

如何在选择控件中获取所选项目的文本?

 <select name="DropList" id="serverDropList"> 
  <option selected="selected" value="2">server1:3000</option> 
  <option value="5">server3:3000</option> 
 </select> 
Run Code Online (Sandbox Code Playgroud)

我知道在原型中我可以获得价值,$('serverDropList').value但我怎么能得到"server1:3000"?

javascript prototypejs

10
推荐指数
3
解决办法
3万
查看次数

jQuery /原型冲突

我正在使用jQuery hoverIntent.js脚本来创建一个巨大的下拉菜单系统,该系统的灵感来自Son Tonaka的大型下拉/ CSS和jQuery sohtanaka.com/web-design/mega-drop-downs-w-css-jquery.我的页面包含一个由第三方供应商插入的prototype.js脚本(这是一个加载属性搜索和潜在客户管理内容的房地产网站).它在标签之前加载到最后.我的菜单脚本和jQuery调用加载在标记的顶部.下面我已经包含了2个链接.第一个链接我已经注释掉对prototype.js的调用,菜单工作正常.第二个链接调用prototype.js,下拉列表不起作用.

  1. 工作下拉:http://www.myreoforeclosures.com/_menutestfromcode.html(prototype.js已注释掉)

  2. 不工作下拉:http://www.myreoforeclosures.com/_menutestfromcode2.html(与prototype.js一起工作)

我已经尝试了jQuery网站上建议的jQuery noConflict()解决方案的许多变体,但对于我的生活,我无法解决冲突.我已经将上述链接简化为CSS和HTML的基础知识来测试下拉列表.

请注意我正在使用Web 2.0/CSS/jQuery攀登陡峭的学习曲线,因为这是我第一次尝试使用这些工具设计网站(以前基于表格的网站).

任何有助于让jQuery和原型协同工作的帮助将不胜感激.我只能控制jQuery脚本,因此必须对jQuery进行任何解析.我对prototype.js没有任何控制权.

jquery conflict hoverintent prototypejs

10
推荐指数
1
解决办法
5777
查看次数

加载javascript异步,然后在执行回调之前检查加载的DOM

问题:
异步加载js文件,然后在执行加载文件的回调之前检查是否加载了dom.

编辑:我们不使用jQuery; 我们使用Prototype.
编辑:为代码示例添加了更多注释.

大家好,

我正在尝试异步加载我的所有js文件,以防止它们阻塞页面的其余部分.但是当脚本加载并调用回调时,我需要知道DOM是否已经加载,所以我知道如何构造回调.见下文:

//load asynchronously
(function(){
        var e = document.createElement('script'); 
        e.type = "text/javascript";
        e.async = true;
        e.src = srcstr; 
        // a little magic to make the callback happen
        if(navigator.userAgent.indexOf("Opera")){
            e.text = "initPage();";
        }else if(navigator.userAgent.indexOf("MSIE")){
            e.onreadystatechange = initPage;
        }else{
            e.innerHTML = "initPage();";
        }
        // attach the file to the document
        document.getElementsByTagName('head')[0].appendChild(e);
})();

initPageHelper = function(){ 
    //requires DOM be loaded
}

initPage = function(){
    if(domLoaded){ // if dom is already loaded, just call the function
        initPageHelper(); …
Run Code Online (Sandbox Code Playgroud)

javascript dom asynchronous callback prototypejs

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

JS Prototype按类获取元素?

我得到了以下代码,我试图让它匹配一个类而不是一个id:

HTML:

<div id='testdiv'>
    <div class="lol">
        [First Title|<a class="external" href="http://test.com">http://test.com</a>]
        Another line
        [Second Title|<a class="external" href="http://test.com">http://test.com</a>]
        More text
        [Third Title|<a class="external" href="http://test.com">http://test.com</a>]
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

var textContainer = document.getElementById("testdiv");
var linkText = textContainer.innerHTML;
var pattern = /\[([^|]+)\|([^>]+.?)[^<]*(<\/a>)\]/g;
var result = linkText.replace(pattern, "$2$1$3");

textContainer.innerHTML = result;
Run Code Online (Sandbox Code Playgroud)

完整示例:http://jsfiddle.net/JFC72/17/

如何让它匹配"myclass"而不是?谢谢!

javascript prototypejs

10
推荐指数
2
解决办法
4万
查看次数

window.requestFileSystem无效

我正在尝试Firefox,IE 9,Chrome和Opera下面的代码,但是onInitFs(fs)函数没有被调用.如果我在window.requestFileSystem中添加'()'到onInitFs(window.PERSISTENT,1024*1024,onInitFs,errorHandler)该函数被调用但fs为null?有谁知道如何解决这个问题?我试试Windows 7.我非常感谢你的帮助.

<!DOCTYPE HTML>
`<html>
    <head>  
    <script>
        function errorHandler(e){
            alert("errorrrr");
        }
        function onInitFs(fs){
        alert("onInitFs");
        }
        function readClick(){
                 if (window.webkitRequestFileSystem) {
                     window.webkitRequestFileSystem(window.PERSISTENT, 1024*1024,onInitFs,errorHandler);
                } 
                 else {
                    window.requestFileSystem(window.PERSISTENT, 1024*1024, onInitFs, errorHandler);
                }

            alert("read finishsssss");
        }
        </script>
    </head>
<body>
<input type="button" value="Read dir" onclick="readClick()">
    <ul id="filelist"></ul>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

javascript html5 html5-filesystem

10
推荐指数
2
解决办法
3万
查看次数

为什么'file.size'需要花费大量时间,以及如何减少时间?

我正在制作一个应用程序来处理被拖动到应用程序的歌曲.当我使用它file.size来获取文件的大小时,需要大约1500毫秒(平均)来获得此值.有没有更快的方法?我理解为什么需要时间(和内存),但由于我是处理HTML5中的文件的新手,可能有一些我不知道哪些可以使这个过程更快.

文件系统API也是如此.如果我通过它调用文件并呼叫file.size,则需要相似的时间.

PS我通过添加console.time()我的代码得出了这个结论.

这是代码(大量剥离)

fileSystem.root.getFile(id, {}, function(fileEntry) {
    fileEntry.file(function(audioTemp) {
        console.time(1);
        console.log(audioTemp.size);
        console.timeEnd(1)
    });
});
Run Code Online (Sandbox Code Playgroud)

这是文件系统API示例.这(显然)需要命名的文件id才能使用它.下面是D&D文件输入代码

function onChangeAddSongsInput() {
    var files = document.getElementById('addSongsInput').files;
    for(var i=0; i<files.length; i++) {
        console.time(1);
        console.log(files[i].size);
        console.timeEnd(1)
    }
}
Run Code Online (Sandbox Code Playgroud)

编辑

我是AMD的核心两个双核,2.7 GHz,2 GB的ram,win7 x64.我相信的规格实际上还算不错.因此,如果某些东西在我的机器上需要足够长的时间,我将把它视为禁忌.

这是我的应用程序中的主要错误修复的阻止程序.我真的很想包括这个很长一段时间的修复程序.我不能设置赏金(但)也许在设置赏金之前有最短的时间.

编辑

我做了一些测试,事实证明,它需要很长时间,因为chrome 计算 的大小而不是从一些元数据中读取它.是测试结果.

文件越大,所需的时间越长,如果第二次调用则使用一些缓存并且不加载文件.所以现在..我怎么能减少这个时间?大小是我的应用程序中的一个重要信息,但可能不足以使用户的上传速度降低大约1.5秒的每个文件!我正计划导入库,当添加100首左右的歌曲时,这将有助于减少这段时间.这一次将成为应用响应时间的重大突破.

javascript google-chrome file-upload html5-filesystem

10
推荐指数
1
解决办法
546
查看次数

Javascript:REGEX将所有相对Urls更改为Absolute

我正在创建一个Node.js webscraper/proxy,但是我在解析源代码的脚本部分中找到的相对Urls时遇到了问题,我认为REGEX可以解决这个问题.虽然我不知道如何实现这一目标.

无论如何我可以解决这个问题吗?

此外,我对这样做更容易,因为我对其他代理如何解析网站感到困惑.我认为大多数只是美化的网站刮刀,可以读取网站的来源中继所有链接/表格回到代理.

javascript regex proxy node.js web-scraping

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

覆盖Chrome中的书签快捷方式(Ctrl + D)功能

是否可以覆盖Ctrl+ D?我想,例如console.log或某些东西,而不是添加到书签的链接.

bookmarks google-chrome keyboard-shortcuts google-chrome-extension

10
推荐指数
2
解决办法
5692
查看次数