Forked from: widged's forked: Google Spreadsheets Chat View Diff (11) forked: Google Spreadsheets Chat stefan.tica Follow 2012-06-12 05:51:48 License: MIT License Fork0 Fav0 View1362 Play Stop Reload Fullscreen Smart Phone Readme JavaScript 107 lines HTML 19 lines CSS 0 lines forked: Google Spreadsheets Chat // forked from widged's "forked: Google Spreadsheets Chat" http://jsdo.it/widged/gsheet_shoutbox /* Shoutbox adapter for widgeds Created: Marielle Lange, 2011 Distributed under the MIT (http://www.opensource.org/licenses/mit-license.php) Built on top of the widged library http://github.com/widged/widgeds */ (function($){ var plugin = { run: function(selector, config) { plugin.options = $.extend({}, plugin.defaults, config); plugin.render(selector); }, defaults: { form: { "formkey": "dHJWUXBjeTVCYVpIWnAwLUdBeFlIX1E6MQ", "sheetkey": "0AtqFuluLJ03jdHJWUXBjeTVCYVpIWnAwLUdBeFlIX1E", "fields": {"alias": "entry.2.single", "text" : "entry.0.single"} }, css: {'font-family': 'Verdana', 'font-size': '9px'} }, render: function(selector) { var $el = $(selector); $el.css(plugin.options.css); $el.append('name: <input type="text" id="alias" size="16" /> '); $el.append('text: <input type="text" id="text" size="40" /> '); $el.append($('<button id="send">send</button> ').click(function () { var text = $("#text").val(); $("#text").val(""); var alias = $("#alias").val(); plugin.postData(alias, text); plugin.reloadChatlog(); })); $el.append($('<button id="reload">reload</button>').click(plugin.reloadChatlog)); $chatLog = $('<ul id="chatlog"></ul>'); $el.append($chatLog); plugin.reloadChatlog(); }, postData: function(alias, text) { var param = { "formkey": plugin.options.form.formkey, "pageNumber": 0, "backupCache": "" }; param[plugin.options.form.fields["alias"]] = alias; param[plugin.options.form.fields["text"]] = text; console.log(text, param); var jqxhr = $.get("https://spreadsheets.google.com/formResponse" + "?" + $.param(param), function() {}) .complete(function(data) { plugin.reloadChatlog(); }); }, reloadChatlog: function () { var param = { key: plugin.options.form.sheetkey, pub: 0, gid: 0, tq: "SELECT A, B, D ORDER BY A DESC LIMIT 32", tqx: "responseHandler:widged.shoutbox.renderChatlog;reqId:" + (new Date()).getTime().toString() }; $.ajax({ 'url': "http://spreadsheets.google.com/tq?" + $.param(param), 'data': null, 'dataType': 'script', 'type': 'GET', 'scriptCharset': "utf-8" }); }, date2str: function(date) { return (date.getMonth() + 1).toString() + "/" + date.getDate().toString() + " " + date.getHours().toString() + ":" + (((date.getMinutes() < 10) ? "0": "")+ date.getMinutes().toString()); }, renderChatlog: function (data) { $chatLog.empty(); // alert(data.table); var table = data.table.rows; for (var i = 0, num = table.length; i < num; ++i) { var time = table[i].c[0].v; var txt = table[i].c[1].v; var alias = table[i].c[2].v; $('<li style="background-color: #D2D2D2;color: #7F7F7F;list-style-type: none;padding: 3px 9px;margin: 9px 0 0 -20px;"/>').html(alias + " " + plugin.date2str(time)).appendTo("#chatlog"); $('<li style="list-style-type: none;"/>').text(txt).appendTo("#chatlog"); } } }; if(!window.widged){window.widged={};}//We create a shortcut for our framework, we can call the methods by $$.method(); $.extend(true, window.widged, {shoutbox: plugin}); })(jQuery); <div id="chatWindow"></div> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> <script language="JavaScript" type="text/javascript"> jQuery(function() { widged.shoutbox.run("#chatWindow", { form: { "formkey": "dHJWUXBjeTVCYVpIWnAwLUdBeFlIX1E6MQ", "sheetkey": "0AtqFuluLJ03jdHJWUXBjeTVCYVpIWnAwLUdBeFlIX1E", "fields": {alias: "entry.2.single", text : "entry.0.single"}, }, css: {'font-family': 'Helvetica', 'font-size': '14px'} }); }); </script> forked: Google Spreadsheets Chat // forked from widged's "forked: Google Spreadsheets Chat" http://jsdo.it/widged/gsheet_shoutbox /* Shoutbox adapter for widgeds Created: Marielle Lange, 2011 Distributed under the MIT (http://www.opensource.org/licenses/mit-license.php) Built on top of the widged library http://github.com/widged/widgeds */ (function($){ var plugin = { run: function(selector, config) { plugin.options = $.extend({}, plugin.defaults, config); plugin.render(selector); }, defaults: { form: { "formkey": "dHJWUXBjeTVCYVpIWnAwLUdBeFlIX1E6MQ", "sheetkey": "0AtqFuluLJ03jdHJWUXBjeTVCYVpIWnAwLUdBeFlIX1E", "fields": {"alias": "entry.2.single", "text" : "entry.0.single"} }, css: {'font-family': 'Verdana', 'font-size': '9px'} }, render: function(selector) { var $el = $(selector); $el.css(plugin.options.css); $el.append('name: <input type="text" id="alias" size="16" /> '); $el.append('text: <input type="text" id="text" size="40" /> '); $el.append($('<button id="send">send</button> ').click(function () { var text = $("#text").val(); $("#text").val(""); var alias = $("#alias").val(); plugin.postData(alias, text); plugin.reloadChatlog(); })); $el.append($('<button id="reload">reload</button>').click(plugin.reloadChatlog)); $chatLog = $('<ul id="chatlog"></ul>'); $el.append($chatLog); plugin.reloadChatlog(); }, postData: function(alias, text) { var param = { "formkey": plugin.options.form.formkey, "pageNumber": 0, "backupCache": "" }; param[plugin.options.form.fields["alias"]] = alias; param[plugin.options.form.fields["text"]] = text; console.log(text, param); var jqxhr = $.get("https://spreadsheets.google.com/formResponse" + "?" + $.param(param), function() {}) .complete(function(data) { plugin.reloadChatlog(); }); }, reloadChatlog: function () { var param = { key: plugin.options.form.sheetkey, pub: 0, gid: 0, tq: "SELECT A, B, D ORDER BY A DESC LIMIT 32", tqx: "responseHandler:widged.shoutbox.renderChatlog;reqId:" + (new Date()).getTime().toString() }; $.ajax({ 'url': "http://spreadsheets.google.com/tq?" + $.param(param), 'data': null, 'dataType': 'script', 'type': 'GET', 'scriptCharset': "utf-8" }); }, date2str: function(date) { return (date.getMonth() + 1).toString() + "/" + date.getDate().toString() + " " + date.getHours().toString() + ":" + (((date.getMinutes() < 10) ? "0": "")+ date.getMinutes().toString()); }, renderChatlog: function (data) { $chatLog.empty(); // alert(data.table); var table = data.table.rows; for (var i = 0, num = table.length; i < num; ++i) { var time = table[i].c[0].v; var txt = table[i].c[1].v; var alias = table[i].c[2].v; $('<li style="background-color: #D2D2D2;color: #7F7F7F;list-style-type: none;padding: 3px 9px;margin: 9px 0 0 -20px;"/>').html(alias + " " + plugin.date2str(time)).appendTo("#chatlog"); $('<li style="list-style-type: none;"/>').text(txt).appendTo("#chatlog"); } } }; if(!window.widged){window.widged={};}//We create a shortcut for our framework, we can call the methods by $$.method(); $.extend(true, window.widged, {shoutbox: plugin}); })(jQuery); <div id="chatWindow"></div> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script> <script language="JavaScript" type="text/javascript"> jQuery(function() { widged.shoutbox.run("#chatWindow", { form: { "formkey": "dHJWUXBjeTVCYVpIWnAwLUdBeFlIX1E6MQ", "sheetkey": "0AtqFuluLJ03jdHJWUXBjeTVCYVpIWnAwLUdBeFlIX1E", "fields": {alias: "entry.2.single", text : "entry.0.single"}, }, css: {'font-family': 'Helvetica', 'font-size': '14px'} }); }); </script> use an iframe compat browser, deer Play on jsdo.it games Author Share ブログに埋め込む QR Tag Download Complete! Description What kind of game? Control Device Smartphone Controllerjsdo.it WebSocket Controller» Mouse Keyboard Touch Device Fullscreen Activated Inactivated jsdo.it games から削除する Submit Author stefan.tica Tweet Default Panel Auto play Screenshot Readme JavaScript HTML CSS Size Width: px Height: px code <script type="text/javascript" src="http://jsdo.it/blogparts/2hcj/js"></script> chat google spreadsheets Discussion Questions on this code? Tags chat google spreadsheets