gpt4 book ai didi

javascript - AngularJS PDF 查看器无法在 IE 中运行

转载 作者:行者123 更新时间:2023-11-30 16:28:45 24 4
gpt4 key购买 nike

我正在尝试显示一个 PDF,它的 url 基于 agularjs 变量。我让它适用于谷歌浏览器,但它似乎不适用于 IE。我已经尝试将 url 编码到页面中,并且效果很好。这是显示我的结果的插件:http://plnkr.co/edit/gFfGQCzAfmf2zf5C2Bpc?p=preview

Please note, the only way to see my issue is if you use plunker in IE not Chrome. And my IE and Adobe are both up to date.

我的理论是 Adob​​e 将 url 作为 {{documentSrc}} 启动,然后 Angular 运行并用值替换该变量,然后 Adob​​e 永远不会识别它。这是真的?如果是这样,我该如何解决?如果不是,那是怎么回事?

代码

<object data="{{documentSrc}}" type="application/pdf" width="100%" height="700px"></object>

最佳答案

为对象元素使用指令。您将需要创建一个 watch 来检测数据和类型绑定(bind)的变化。还有一个问题是,如果您打算多次更改绑定(bind),则需要跟踪您的指令元素。

参见此处:http://embed.plnkr.co/fFtkcG/preview

 <object-reloadable>No document selected</object-reloadable>
.directive('objectReloadable', function() {
var link = function(scope, element, attrs) {
var currentElement = element;

scope.$watch('documentSrc', function(newValue, oldValue) {
if (newValue !== oldValue) {
scope.documentSrc = newValue;
var html = '<object type="application/pdf" data="' + newValue + '"></object>';
var replacementElement = angular.element(html);
currentElement.replaceWith(replacementElement);
currentElement = replacementElement;
}
});
};

return {
restrict: 'E',
scope: false,
link: link
};
})

关于javascript - AngularJS PDF 查看器无法在 IE 中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33680239/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com