这似乎是一个模糊的问题,但我通过调用脚本遇到了角度继承脚本的问题。
对此的概括如下:
我们有一个自定义浏览器,可以在自定义"属性"被添加到我们网页上的输入对象(角度所在的位置)。添加该属性(类似于类和ID)时,它会在Input对象旁边放置一个按钮。
我遇到的问题是它只适用于ng-view之外的对象。
如果输入对象位于我的主索引html文件中(在调用ng-view之前),代码可以正常工作。
有没有办法让它可以继承自定义脚本,我相信是控制器?
非常感谢任何提示。
编辑:以下是一些目前用于实现此功能的代码剪辑。
浏览器端:
string invokeScript = "(function(){function i(n,t){t.parentNode.insertBefore(n,t.nextSibling)}function r(n,t){var o={scannableInputId:n.id,scannerType:t},u=document.createElement(\"span\"),f=document.createAttribute(\"class\");f.value=\"input-group-btn\";u.setAttributeNode(f);var r=document.createElement(\"button\"),s=document.createTextNode(\"scan\"),e=document.createAttribute(\"class\");e.value=\"btn btn-primary\";r.appendChild(s);r.setAttributeNode(e);r.addEventListener(\"click\",function(){window.external.notify(JSON.stringify(o))});u.appendChild(r);i(u,n)}var n=document.querySelectorAll(\"[data-barcode-scan]\");for(var t in n)n.hasOwnProperty(t)&&r(n[t],n[t].getAttribute(\"data-barcode-scan\").toLowerCase())})();";
if (Web != null)
{
await Web.InvokeScriptAsync("eval",
new[]
{
invokeScript
});
}
网站方:
<h2>
Item (Demo): <input id="scannedValueDemoTextBox"
name="scannedValueDemoTextBox"
ng-model="scannedValueDemo"
type="text"
data-barcode-scan="single"
style="width: 200px"/>
&#34; data-barcode-scan =&#34; single&#34;是触发按钮出现的内容,它在ng-view / controllers之外工作。