我有一个div包含一些动态添加和删除的内容,所以它的高度经常变化.我也有一个div绝对定位在javascript的正下方,所以除非我能检测到div的高度何时改变,否则我无法重新定位它下方的div.
那么,我怎样才能检测到div的高度何时发生变化?我假设我需要使用一些jQuery事件,但我不确定要挂入哪一个.
我有一个div使用overflow:auto来保持div内的内容,因为它被调整大小并在页面上拖动.我正在使用一些ajax从服务器检索文本行,然后将它们附加到div的末尾,因此内容正在向下增长.每次发生这种情况时,我都希望使用JS将div滚动到底部,以便最近添加的内容可见,类似于聊天室或命令行控制台的工作方式.
到目前为止,我一直在使用这个代码片段(我也使用jQuery,因此$()函数):
$("#thediv").scrollTop = $("#thediv").scrollHeight;
Run Code Online (Sandbox Code Playgroud)
然而,它给了我不一致的结果.有时它可以工作,有时不工作,如果用户调整div或手动移动滚动条,它就会完全停止工作.
目标浏览器是Firefox 3,它被部署在受控环境中,因此根本不需要在IE中工作.
有什么想法吗?这个让我难过.谢谢!
我正在尝试从Adobe AIR应用程序中请求需要基本授权标头的HTTP资源.我尝试手动将标头添加到请求中,以及使用setRemoteCredentials()方法设置它们,但无济于事.
这是代码:
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.rpc.events.FaultEvent;
private function authAndSend(service:HTTPService):void
{
service.setRemoteCredentials('someusername', 'somepassword');
service.send();
}
private function resultHandler(event:ResultEvent):void
{
apiResult.text = event.result.toString();
}
private function resultFailed(event:FaultEvent):void
{
apiResult.text = event.fault.toString();
}
]]>
</mx:Script>
<mx:HTTPService id="apiService"
url="https://mywebservice.com/someFileThatRequiresBasicAuth.xml"
resultFormat="text"
result="resultHandler(event)"
fault="resultFailed(event)" />
<mx:Button id="apiButton"
label="Test API Command"
click="authAndSend(apiService)" />
<mx:TextArea id="apiResult" />
Run Code Online (Sandbox Code Playgroud)
但是,仍然会弹出标准的基本身份验证对话框,提示用户输入用户名和密码.我有一种感觉,我没有以正确的方式做到这一点,但我能找到的所有信息(Flex文档,博客,谷歌等)要么没有用,要么太模糊无法提供帮助.
任何黑魔法,哦Flex大师?谢谢.
编辑:将setRemoteCredentials()更改为setCredentials()会产生以下ActionScript错误:
[MessagingError message='Authentication not supported on DirectHTTPChannel (no proxy).']
Run Code Online (Sandbox Code Playgroud)
编辑:经过Adobe的一些关注后,问题解决了.有关完整说明,请参阅下面的帖子.此代码适用于任意长度的HTTP身份验证标头.
import mx.utils.Base64Encoder;
private function authAndSend(service:HTTPService):void
{
var encoder:Base64Encoder = new Base64Encoder();
encoder.insertNewLines = false; …Run Code Online (Sandbox Code Playgroud) 好的,因此PHP不是处理任意大整数的最佳语言,因为它本身只支持32位有符号整数.我想要做的是创建一个可以表示任意大二进制数的类,并能够对其中两个执行简单的算术运算(加/减/乘/除).
我的目标是处理128位整数.
我正在研究几种方法,以及我看到的问题.任何关于你会选择什么以及如何进行评论的输入或评论将不胜感激.
方法#1:创建一个128位整数类,在内部将整数存储为四个32位整数.这种方法的唯一问题是,我不确定在操作两个操作数的各个块时如何处理溢出/下溢问题.
方法#2:使用bcmath扩展,因为它看起来像它旨在解决的问题.我采用这种方法的唯一担心是bcmath扩展的比例设置,因为我的128位整数中没有任何舍入错误; 他们必须准确.我也担心能够最终将bcmath函数的结果转换为二进制字符串(我稍后需要将其转换为某些mcrypt加密函数).
方法#3:将数字存储为二进制字符串(可能是LSB优先).从理论上讲,我应该能够以这种方式存储任意大小的整数.我所要做的就是编写四个基本的算术函数来对两个二进制字符串执行add/sub/mult/div并生成二进制字符串结果.这正是我需要交给mcrypt的格式,所以这是一个额外的加分.这是我认为目前最有希望的方法,但我得到的一个问题是PHP没有提供任何方法来操纵各个位(我知道).我相信我必须把它分解成字节大小的块(没有双关语意),此时我对方法#1处理溢出/下溢的问题适用.
免责声明:这是一个家庭作业,但问题不在于作业,只是一般语法怪异.
我试图在一个更大的程序的上下文中使用libpcap,但是当我尝试获取每个数据包的数据包头和数据时,gcc抱怨pcap_next_ex的第三个参数是一个不兼容的指针类型.这是一些示例代码,看看我在说什么:
#include <stdio.h>
#include <stdlib.h>
#include <pcap.h>
int main()
{
pcap_t *pcap;
char pcapErr[PCAP_ERRBUF_SIZE];
struct pcap_pkthdr *pktHeader;
u_char *pktData;
pcap = pcap_open_offline("somefile.pcap", pcapErr);
if (pcap == NULL)
{
fprintf(stderr, "pcap_open_offline failed: %s\n", pcapErr);
exit(EXIT_FAILURE);
}
while (pcap_next_ex(pcap, &pktHeader, &pktData) == 1)
{
// do things here
}
pcap_close(pcap);
return EXIT_SUCCESS;
}
Run Code Online (Sandbox Code Playgroud)
手册页指出pcap_next_ex()的原型是:
int pcap_next_ex(pcap_t *p, struct pcap_pkthdr **pkt_header, const u_char **pkt_data)
Run Code Online (Sandbox Code Playgroud)
我传递的是一种不兼容的指针类型到底是怎么回事?谢谢.
javascript ×2
jquery ×2
air ×1
ajax ×1
apache-flex ×1
c ×1
html ×1
httpservice ×1
integer ×1
pcap ×1
php ×1
pointers ×1
scroll ×1