私はC#
とASP.NET MVC 3
という私のサイトでOpenIDとOAuthを実装しています。私はバックエンドの場合はDotNetOpenAuth、フロントエンドの場合はopenid-selectorをベースにしています。javascriptコードにはDOMの知識はどれくらいありますか?
私はopenid-selectorを言っていますが、それは私が(StackOverflow'simplementationとjsbeautifierの助けを借りて)それを適応始めた箱の外にはOAuthをサポートしていません。
私はこのようなDOMを処理するコードをたくさん見つけ:私に
function highlight(boxId) {
// remove previous highlight.
var highlight = $('#openid_highlight');
if (highlight) {
highlight.replaceWith($('#openid_highlight a')[0]);
}
// add new highlight.
$('.' + boxId).wrap('<div id="openid_highlight"></div>');
};
または
function useInputBox(provider) {
var area = $('#openid_input_area');
var id = 'openid_username';
var html = '';
var value = '';
var style = '';
var label = provider.label;
if (label) {
html = '<p>' + label + '</p>';
}
if (provider.name == 'OpenID') {
id = this.input_id;
value = 'http://';
style = 'background: #FFF url(' + spritePath + ') no-repeat scroll 0 50%; padding-left:18px;';
}
html += '<input id="' + id + '" type="text" style="' + style + '" name="' + id + '" value="' + value + '" />'
+ '<input id="openid_submit" type="submit" value="' + this.signin_text + '"/>';
area.empty();
area.append(html);
$('#' + id).focus();
};
両方の音、彼らは(あまりにも多くのDOMについてはあまり想定しているようにids、またはDOMの現在の状態)。
javascriptをDOMに緊密に結合しても問題ありませんか?このようなコードを避け、より侵入の少ないアプローチをとる最善の方法は何ですか?
openid.init('openid_identifier', '', 'http://cdn.sstatic.net/Img/openid/openid-logos.png?v=8', true);
そんなにスクリプトファイルにすでに仮定してあります。
は、私が何を私にperplexesするコールであると思います。