这是我第一次使用LISTAGG功能,我很困惑.我可以很容易地选择数据,但是USERS列的字符在它们之间都有空格,并且在尝试复制它时,不会复制该列中的数据.我试过两个不同的IDE.难道我做错了什么?
例:
select course_id, listagg(firstname, ', ') within group (order by course_id) as users
from (
select distinct u.firstname, u.lastname, u.student_id, cm.course_id
from course_users cu
join users u on u.pk1 = cu.users_pk1
join course_main cm on cm.pk1 = cu.crsmain_pk1
and cm.course_id like '2015SP%'
)
group by course_id;
Run Code Online (Sandbox Code Playgroud)
产量:

我有一个页面,其中特定div显示用户的"系统角色"的ID,如下所示:
<div id="systemRoleIndicator" style="display: none;">
<p>Z</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我可以用jQuery检测到这个值很好,但我似乎无法实际使用它.例如,我从未在此代码中收到完成消息:
<script src="/scripts/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">
var role = $("#systemRoleIndicator").text();
alert("Your role is: " + role); //displays proper value
if (role == "Z") {
alert("Code completed!");
}
</script>
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我错过了比较字符串的内容吗?
我正在编写一个简单的用户脚本,如果它包含某个单词列表,它将自动隐藏Facebook帖子.核心功能的作品,但我MutationObserver似乎没有阅读className的mutation.addedNodes正确.我遍历mutation.addedNodes并检查这些元素中是否有任何类具有该类userContentWrapper,但该测试的结果始终为false - 即使该元素确实具有该类.
var startObserver = function() {
var observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
var added = mutation.addedNodes;
for (var i = 0; i < added.length; i++) {
if (/\buserContentWrapper\b/.test(added[i].className)) {
processFilter(added[i]);
}
}
});
});
var obj = {childList: true, subtree: true, attributes: true};
observer.observe(document.documentElement, obj);
};
Run Code Online (Sandbox Code Playgroud)
我只能假设观察者在完全形成所有属性之前分析添加的节点.如何使观察者等待处理节点直到它完全完成?或者我不明白这个问题?
提前致谢...
我有以下代码段,它创建了一个振荡器并以一定的音量播放。我将oscillator变量保留在函数范围之外,以便我可以在需要时用其他函数停止它。
var oscillator = null;
var isPlaying = false;
function play(freq, gain) {
//stop the oscillator if it's already playing
if (isPlaying) {
o.stop();
isPlaying = false;
}
//re-initialize the oscillator
var context = new AudioContext();
//create the volume node;
var volume = context.createGain();
volume.connect(context.destination);
volume.gain.value = gain;
//connect the oscillator to the nodes
oscillator = context.createOscillator();
oscillator.type = 'sine';
oscillator.frequency.value = freq;
oscillator.connect(volume);
oscillator.connect(context.destination);
//start playing
oscillator.start();
isPlaying = true;
//log
console.log('Playing at frequency ' + freq …Run Code Online (Sandbox Code Playgroud)