[英]Send data to flyout, windows Sidebar Gadget
我正在尝试为Windows开发侧边栏小工具。
除了我对小工具不了解的问题之外,一切都工作正常。 我尝试搜索Net,但documentatins很少,它们也不是很清楚。
问题现在我正面临着我使用Ajax从服务器获取数据的问题。 现在我想以弹出方式显示返回的数据。 但是BIG的问题是如何将数据发送到弹出窗口,在网上搜索并找不到有用的东西。 是的,那里有很多示例,但是这些示例中的代码太多,我无法弄清正在发生什么。
以下是我的gadget.html
,它是主要的html文件,来自file的一些代码:
function init()
{
System.Gadget.settingsUI = "settings.html";
System.Gadget.onSettingsClosed = settingsClosed;
// Specify the Flyout root.
System.Gadget.Flyout.file = "search.html";
System.Gadget.onDock = DockedChanged; //no longer support in win7
System.Gadget.onUndock = UnDockedChanged; //msdn.microsoft.com/en-us/library/dd370867(VS.85).aspx
this.document.body.style.height = 100;
var evenColorTR = document.getElementById('evenColorTR');
var ColorRows = document.getElementById('data-Tables').getElementsByTagName('tr');
for(var x = 0; x < ColorRows.length; x++) {
ColorRows[x].className = (x % 2 == 0) ? 'even' : 'odd';
}
}
function openSearch()
{
var searchString = document.getElementById("searchBox").value;
var location = "http://localhost/projects/pdoConnection.php";
// var location = "http://www.w3schools.com/ajax/ajax_info.txt";
/* var http = new XMLHttpRequest();
var params = "lorem=ipsum&name=binny";*/
System.Gadget.Flyout.show = true;
var data={
searchFilter:searchString
};
/* $('#testingbaba').text('im inside function');
console.log('I am inside Function');*/
/*
try{
$.ajax({
type:"POST",
url:location,
data:data,
dataType:"json",
cache:false,
success:function(e){
console.log('im the success'+e);
$('#testingbaba').text('im the success'+e);
},
error:function(XMLHttpRequest, textStatus, errorThrown){
console.log('im the error' + e);
$('#testingbaba').text('im the error'+errorThrown);
}
});
}
catch(e) {
$('#testingbaba').text('im the catch'+e);
}
*/
$.post( location, data).done(function( data ) {
$('#testingbaba').text(data);
});
/* var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.onreadystatechange=function(e) {
if (xmlhttp.readyState==4) {
$('#testingbaba').text('Hello World');
}
xmlhttp.open("GET",location,true);
xmlhttp.send();
}*/
}
我想打开弹出按钮时,即当System.Gadget.Flyout.show = true;
设置为true
,数据应发送到弹出窗口。
问题解决了,找到了解决方案。
要将数据从主html文件发送到弹出窗口,我确实使用了以下过程。
添加以下代码
var somedata = 'some data or string or anything';
System.Gadget.Settings.write("data", someData);
并确实使用以下代码读取了弹出式窗口中的数据。
var dataFromMainFile = System.Gadget.Settings.read('data');
像魅力一样工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.