小编Wic*_*ams的帖子

在大型网站上管理document.ready事件

注意:我现在已经创建了一个jQuery插件,这是我尝试解决这个问题.我相信它可以改进,我可能忽略了很多用例,所以如果有人想提供反馈请随意:-) https://github.com/WickyNilliams/ReadyBinder

我没有这样的问题,但认为这将是一个有趣的讨论点,我希望人们对此有一些有趣的想法.

基本上,我在一个大型网站上工作,我们越来越多地编写越来越多的JavaScript.这很好,我喜欢JS独特的方法,我发现在语言的一些较暗的年代中可爱的奇怪之处;-)然而,一直困扰我的一件事是如何管理文档就绪事件,因为它们变得越来越大随着时间的推移(因此对于所服务的页面不太专注/特定)

问题是我们有一个JS文件(合并和缩小,虽然这对我的问题有点无关紧要).大多数JS都是使用揭示模块模式编写的,jQuery是我们选择的框架.所以我们所有的JS功能都在逻辑上分组为方法,命名空间,然后在脚本文件的底部我们有这个

$(function(){
    //lots of code here, usually calling encapsulated methods 
    //on our namespaced revealing module
});
Run Code Online (Sandbox Code Playgroud)

问题是并非本文档就绪处理程序中的所有代码都与每个页面相关.例如,在一个页面上只有10%可能是相关的,在另一个页面上,80%可能是相关的.对我来说,这感觉非常错误,我觉得我应该只执行每页需要的代码,主要是为了提高效率,还要保持可维护性.

我搜索谷歌搜索这个问题的方法,但找不到任何东西,也许我只是在寻找错误的东西!

无论如何,所以我的问题是:

  • 有没有人想过这个问题?
  • 这实际上是其他人的意见吗?
  • 您的代码中是否有一个庞大的,包罗万象的文档就绪处理程序,还是更专注于所服务的页面类型?
  • 如果是后者,你如何管理呢?多个处理程序在JS中切换或动态吐出文档就绪处理程序服务器端?

期待人们对此事的看法.

干杯

javascript maintainability jquery document-ready

31
推荐指数
1
解决办法
1327
查看次数

AJAX和NS_ERROR_DOM_BAD_URI错误

我一直有以下问题,我认为这可能是因为我的方法可能被误导,但希望在你的帮助下我可以解决这个问题!

基本上,对于我的网站,我有一个搜索提供商(已经付款,所以我没有违反任何使用条款).当搜索表单被提交时,我将被定向到他们显示结果的域.

虽然我可以自定义返回结果的外观,但到目前为止我只能采取这种方式,并且永远不会完全符合我的网站的外观和感觉.

所以,我想,不是通过表单进行常规GET,而是进行AJAXified GET,然后将返回的响应注入到页面上的div中 - 允许我保持外观并且永远不会离开我们的域.

这在IE中工作正常但在Firefox中我得到" text/html (NS_ERROR_DOM_BAD_URI)"作为错误.做了一些研究后我发现这是因为AJAX请求命中了我们域外的网站.

因此,我能采取更好的方法来达到同样的效果吗?或者有没有办法让我的Firefox和我的AJAX请求发挥得很好?真正奇怪的是,如果我在HttpFox中观察到请求(一个整齐的FF添加),它会报告上面的错误,但是查看返回的内容就像预期一样 - 所以为什么我不能访问它! !

我真的很想让它工作,因为它比重写所有CSS和东西要简单得多,以使他们的结果页面看起来几乎像我们的网站.非常感谢这方面的任何帮助.

html ajax get

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

Git无法撤消已修改的文件

我只想回到一个干净的工作目录,就像我上次提交后一样.Git向我报告了一些我没有做过的文件修改,所以我怀疑它与行结尾有关.

我已经尝试了所有常见的嫌疑人这样做:

git reset --hard git commit -- . git stash git clean -fd

无论我做什么,git status总是显示与修改相同的文件.我能做什么?我在另一个分支中隐藏了未提交的更改,所以我不想只是爆炸一切,而只是"回滚"我的主分支.

编辑:输出

$ git status
# On branch master
# Changes not staged for commit:
#   (use "git add <file>..." to update what will be committed)
#   (use "git checkout -- <file>..." to discard changes in working directory)
#
#   modified:   demo/index.html
#   modified:   demo/js/app.js
#   modified:   demo/js/libs/jquery.1.7.1.js
#   modified:   demo/js/libs/matchMedia.js
#   modified:   demo/js/libs/modernizr.js
#   modified:   demo/js/loadr.js
#   modified:   dist/enquire.js
#   modified: …
Run Code Online (Sandbox Code Playgroud)

git rollback git-stash git-reset

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

MSBuild缩小和连接javascript,将内容散列到文件名中

到目前为止,我一直在使用MS Ajax Minifier来压缩和组合我的CSS和JS.我的服务器设置了很远的未来expires头,所以我需要一个缓存到期策略.目前,我通过更改文件名来手动对这些项目进行版本控制,以便它们在每个版本上过期.

我想稍微自动化一下,特别是通过将文件内容的哈希附加到压缩的文件名上.如果我们可以使用此更新的文件名更新一些配置XML(存在于不同项目中)文件,则可获得奖励积分

我们正在使用TFS构建服务器,所以我想这应该包含在MSBuild任务中?或者我可以将它作为前/后构建项目步骤运行吗?

如果有人对这个领域有任何知识,他们很乐意分享,我将非常感激.

谢谢

versioning msbuild concatenation minify tfsbuild

5
推荐指数
1
解决办法
1585
查看次数

在sitecore中裸露的MembershipProvider

我正在尝试为sitecore实现一个非常简单的MembershipProvider,但我不确定它是否简单而无法实际工作.基本上我们已经有一个用户数据的自定义商店,所以我知道客户MembershipProvider是要走的路.但是我的应用程序不会记录任何人,系统的不同部分负责.此外,它并不关心究竟是谁登录,只关注它们是否是(我的网站内容区域中的哪个部分无关紧要).

那么最好的方法是什么呢?我在HTTP标头中传递了一个令牌,它允许我识别是否有人登录(我甚至可以使用它来实际找出客户是谁,如果我愿意) - 不要担心它是加密的.

我已经阅读了sitecore文档,但它们都处理了MembershipProviders的完整实现.

那么实际上是否有可能只有这样的成员资格提供者即返回用户表示被记录,或者返回那些已注销的"匿名"用户?它不需要关心其他任何事情 - 密码重置,通过电子邮件和所有爵士乐查找用户.

谢谢,尼克

编辑:在Jens的帮助下,我已经全心全意地采用MembershipProvider了更轻量级的方法.

这就是我到目前为止,问题是用户没有通过多个请求登录.

public class TokenLogin : HttpRequestProcessor
{


    #region Overrides of HttpRequestProcessor

    /// <summary>
    /// Processes the specified args.
    /// </summary>
    /// <param name="args">The args.</param>
    public override void Process(HttpRequestArgs args)
    {
        var customer = SomeCodeToParseAndValidateToken();

        //customer is null if token is invalid or missing
        if(customer == null || Sitecore.Context.User.IsAuthenticated) return;

        CreateVirtualUser(customer);
    }

    private static void CreateVirtualUser(CustomerAccount customer)
    {
        string userName = "extranet\\" + …
Run Code Online (Sandbox Code Playgroud)

asp.net-membership sitecore membership-provider

3
推荐指数
1
解决办法
1532
查看次数

isapi重写调试或测试工具

想知道是否有人知道或有经验,调试一组isapi重写规则?

我有一套非常大的规则,因此手动完成它们并不容易.所以我想知道是否有任何测试工具可用于放入您的规则并传入URL,并查看匹配的规则是什么以及结果URL是什么?

或者失败了,某种先进的日志记录可能会指导我的问题所在.

当我的大脑即将融化时,任何帮助都会受到高度赞赏!

干杯

testing debugging isapi-rewrite

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