Jquery 在哪里运行openid选择器generate-sprite.js

Jquery 在哪里运行openid选择器generate-sprite.js,jquery,openid,dotnetopenauth,Jquery,Openid,Dotnetopenauth,ASP.NET MVC3 Razor项目 尝试使用 我将openid-en.js脚本编辑为: var providers_large = { myopenid: { name: 'MyOpenID', label: 'Enter your MyOpenID username.', url: 'http://{username}.myopenid.com/' }, openid: { name: 'OpenID', label: 'Enter y

ASP.NET MVC3 Razor项目

尝试使用

我将openid-en.js脚本编辑为:

var providers_large = {
  myopenid: {
    name: 'MyOpenID',
    label: 'Enter your MyOpenID username.',
    url: 'http://{username}.myopenid.com/'
  },
  openid: {
    name: 'OpenID',
    label: 'Enter your OpenID.',
    url: null
  }
};
删除所有对谷歌的引用。我还删除了var providers_小节,并在open-jqeury.js中引用了它

这是my LogOn.cshtml中的表单

<form action="Authenticate?ReturnUrl=@HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"])" method="post" id="openid_form">
<input type="hidden" name="action" value="verify" />
<div>
    <fieldset>
        <legend>Agency use only</legend>
        <div class="openid_choice">
            <p>
                Please click your account provider:</p>
            <div id="openid_btns">
            </div>
        </div>
        <div id="openid_input_area">
            @Html.TextBox("openid_identifier")
            <input type="submit" value="Log On" />
        </div>
如何运行generate-sprite.js脚本

任何javascript专家都可以告诉我如何在Win7和VS2010 Express设置中执行此操作。

回答

将openid选择器安装到文件夹中,并根据自述文件编辑generate-sprite.js。然后从该文件夹中的命令行运行wscript generate-sprite.exe。它将生成一个新的openid-provider-en.png。我把它复制到我的images文件夹中,MyOpenID选择器框中有MyOpenID图标,并将我连接到MyOpenID登录


还可以看到

我认为您必须通过openid\u选项
openid\u btns id
代码来查看。我的想法是那些负责显示提供者列表及其按钮的人。试着去做。你说的透明到底是什么意思。我正在查看open-en.js和openid-jquery.js中的所有代码,我已经删除了对谷歌、雅虎和美国在线的所有引用,但它们仍然不断出现。而myopenid则没有,即使它是我在“大”下指定的。如果我删除href=“javascript:openid.sign(\''+box\u id+'\'));在openid-jquery.js中,我留下了两个空白框。您有任何具体信息。一般答案没有帮助,我是自己做的?
请单击您的帐户提供商:

查看用id=“openid\u btns”填充div的脚本“从中删除谷歌。我已经在整个解决方案中搜索了_btn。这真的不是问题所在。正如我所说,我已经从整个解决方案中删除了对谷歌的所有引用。与openid-jquery.js中的href=“javascript:openid.sign(\''+box\u id+'\')有关。请参阅我的更新问题。是的,但如何解决?我找到了答案,请参阅我的答案。
getBoxHTML : function(box_id, provider, box_size, index) {
        if (this.no_sprite) {
            var image_ext = box_size == 'small' ? '.ico.gif' : '.gif';
            return '<a title="' + this.image_title.replace('{provider}', provider["name"]) + '" href="javascript:openid.signin(\'' + box_id + '\');"'
                    + ' style="background: #FFF url(' + this.img_path + '../images.' + box_size + '/' + box_id + image_ext + ') no-repeat center center" '
                    + 'class="' + box_id + ' openid_' + box_size + '_btn"></a>';
        }
        var x = box_size == 'small' ? -index * 24 : -index * 100;
        var y = box_size == 'small' ? -60 : 0;
        return '<a title="' + this.image_title.replace('{provider}', provider["name"]) + '" href="javascript:openid.signin(\'' + box_id + '\');"'
                + ' style="background: #FFF url(' + this.img_path + 'openid-providers-' + this.sprite + '.png); background-position: ' + x + 'px ' + y + 'px" '
                + 'class="' + box_id + ' openid_' + box_size + '_btn"></a>';
    },
var locale = 'en';
if (WScript.Arguments.length == 0) {
    // assuming english locale
} else {
    locale = WScript.Arguments(0);
}