我想获得没有在HTML源代码中指定宽度和高度标记的图像的高度和宽度.
即
<img src="http://www.mysite.com/imge.jpg" id="my_img" />
Run Code Online (Sandbox Code Playgroud)
我想要做的是在加载之前获取图像的宽度和高度.我正在努力完成以下任务,如果您知道更好的解决方案请建议我.
我想这样做是因为我希望将我网站中的所有图像保持在小于或等于600px.因此,如果图像的宽度> 600px,我将其减少到600px.或者我保持宽度不变.
我的试用:以下代码都不适用于此任务,因为它们在图像加载后得到图像的大小; 最初它们的宽度显示为零.
<script type="text/javascript">
var img = document.getElementById('my_img');
var width = img.clientWidth;
var height = img.clientHeight;
alert('Width: ' + width + ' Height:' + height); // FAIL
var timg = document.getElementById('test').width;
alert(timg); // FAIL too
</script>
Run Code Online (Sandbox Code Playgroud)
我的HTML代码:
<img src="http://www.mysite.com/imge.jpg" id="my_img" />
Run Code Online (Sandbox Code Playgroud)
希望这很清楚.
谢谢.
我想了解下面的代码是如何工作的.这直接来自我的教授讲座幻灯片.这个P()和V()函数是我们在类(OS161)中使用的OS中信号量实现的一部分.我认为您可能需要了解OS161以回答我的问题,因为它被广泛使用,希望有人可以回答这个问题.
我对这段代码的理解与讲义:
X:P()函数的流程
1.当一个线程调用P()时,我们禁用中断
2.检查sem-> count
3.a 上是否有任何资源可用如果count为0然后我们进入休眠状态
3.b)如果count!= 0则我们减少计数并允许调用线程继续关键部分
4.启用中断
Y:V()函数的流程
1.当线程调用时V(),我们禁用中断
2.递增计数器,暗示现在还有1个资源可用于抓取
3.现在我们继续唤醒我们发送到P()的所有线程,因为没有线程试图获取对关键部分的锁定时可用的足够资源
4.启用中断
我的问题:
1."禁用中断"部分禁用特定线程上的中断还是禁用所有中断?
2.在V()函数中,当我们唤醒所有线程时,线程在P()函数中的while循环内部开始执行while循环.在讲座中,它说一个线程抓住锁,休息回去睡觉.我的问题是为什么"sem-> count == 0"条件不会评估为其他线程但只有一个线程为false.
我真的想知道中断禁用部分是如何工作的.这是我的第一个问题.它是否会停止线程调度程序?是否会停止系统中的上下文切换?
为什么线程在中断禁用的情况下进入休眠状态?是不是很危险,因为它可能会错过I/O完成的信号和其他东西?
P(sem) {
Disable interrupts;
while (sem->count == 0) {
thread_sleep(sem); /* current thread
will sleep on this sem */
}
sem->count--;
Enable interrupts;
}
V(sem) {
Disable interrupts;
sem->count++;
thread_wakeup (sem); /* this will wake
up all the threads waiting on this
sem. Why wake up all threads? */
Enable interrupts;
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
我被埋在一个混蛋中.
我是怎么到达那里的:
我不是一个git专家.如果我没有任何细节,请问我澄清一下.几天前我运行了以下命令将我的更改推送到远程分支.
% git checkout master
% git pull
% git checkout redactor_changes <-- this is the branch that I made my changes
% git commit -m "changes" # I added my changes previously
% git rebase master
% git push origin redactor_changes # pushed changes to remote branch
Run Code Online (Sandbox Code Playgroud)
并非每个人都具有将更改合并到主分支的写入权限.拥有远程回购的写入权限的人告诉我存在冲突并进行改变并再次提交.所以今天我按照确切的顺序运行了以下命令.
vagrant@vagrant-ubuntu-trusty-64:~/oblog$ git add oblog/static/css/styles-custom.css
vagrant@vagrant-ubuntu-trusty-64:~/oblog$ git add oblog/static/js/redactor.upload_image.js
vagrant@vagrant-ubuntu-trusty-64:~/oblog$ git add oblog/static/images/loading.gif
vagrant@vagrant-ubuntu-trusty-64:~/oblog$ git commit -m "Throw a toast when user upload an non-image file with image extension"
vagrant@vagrant-ubuntu-trusty-64:~/oblog$ …Run Code Online (Sandbox Code Playgroud)