<script>
setTimeout(function(){
var myE = document.getElementById("myElement");
alert("jwGetPlaylist:" + myE["$version"]);
var result = myE["jwGetPlaylist"]();
result = myE["jwGetPlaylist"]();
alert("jwGetPlaylist:" + result);
}, 2000);
</script>
上面是测试代码。下面的堆栈:
blink::npObjectGetProperty
blink::npObjectNamedPropertyGetterv8::internal::PropertyCallbackArguments::Call
v8::internal::JSObject::GetPropertyWithInterceptor
v8::internal::Object::GetProperty
v8::internal::Runtime::GetObjectProperty
v8::Object::Get
blink::`anonymous namespace'::getScriptableObjectProperty<blink::V8HTMLObjectElement,v8::Local<v8::String> >
blink::V8HTMLObjectElement::namedPropertyGetterCustom
blink::HTMLObjectElementV8Internal::namedPropertyGetterCallback
v8::internal::PropertyCallbackArguments::Call
v8::internal::JSObject::GetPropertyWithInterceptor
v8::internal::Object::GetProperty
v8::internal::LoadIC::Load
v8::internal::__RT_impl_Runtime_LoadIC_Miss
v8::internal::Runtime_LoadIC_Miss
v8::internal::`anonymous namespace'::Invoke
v8::internal::Execution::Call
v8::Function::Call
blink::V8ScriptRunner::callFunction
blink::ScriptController::callFunction
blink::ScriptController::callFunction
blink::V8EventListener::callListenerFunction
blink::V8AbstractEventListener::invokeEventHandler
blink::V8AbstractEventListener::handleEvent
blink::V8AbstractEventListener::handleEvent
blink::EventTarget::fireEventListeners
blink::Node::handleLocalEvents
blink::NodeEventContext::handleLocalEvents
blink::EventDispatcher::dispatchEventAtTarget
blink::EventDispatcher::dispatch
blink::EventDispatchMediator::dispatchEvent
blink::EventDispatcher::dispatchEvent
blink::Node::dispatchEvent
blink::Document::finishedParsing
blink::HTMLConstructionSite::finishedParsing
blink::HTMLTreeBuilder::finished
blink::HTMLDocumentParser::end
blink::HTMLDocumentParser::attemptToRunDeferredScriptsAndEnd
blink::HTMLDocumentParser::prepareToStopParsing
blink::HTMLDocumentParser::processParsedChunkFromBackgroundParser
blink::HTMLDocumentParser::pumpPendingSpeculations
blink::HTMLDocumentParser::resumeParsingAfterYield
blink::HTMLParserScheduler::continueParsing
WTF::FunctionWrapper<void (__thiscall blink::HTMLParserScheduler::*)(void)>::operator()(blink::HTMLParserScheduler * c) 行 83 C++
blink::CancellableTaskFactory::CancellableTask::run
content::WebTimerBase::fired
content::WebThreadImpl::schedulerTasks
content::WebThreadImpl::fire
content::TimerWindowWndProc
执行js
E:\mycode\miniblink49\trunk\third_party\WebKit\Source\bindings\core\v8\NPV8Object.cpp
node.dll!blink::ScriptController::executeScriptAndReturnValuenode.dll!_NPN_EvaluateHelper
node.dll!_NPN_Evaluate