In Windows, is there a native way to display PDF files and simple websites?
On Mac, both tasks are very simple:
[[PDFView ...] setDocument:[PDFDocument ...]];
[[[WebView ...] mainFrame] loadRequest:[NSURLRequest ...]];
Is there anything comparable on Windows? From which version?
There is nothing native in Windows for embedding a PDF document in an application. You would have to host a third-party ActiveX/COM container, such as from Adobe Acrobat, to handle that.
For a webpage, you can host Internet Explorer's WebBrowser control in your app. Some third-party browsers, like Mozilla and FireFox, also support hosting in apps.
Or, you could use the ShellExecute() function to open a given document/url in its default external application instead of hosting it inside of your own app.
Related
The new Microsoft Edge browser has built-in support for Adobe Flash. The updated WebView control in the Windows 10 SDK utilizes Microsoft Edge as its engine.
I am trying to figure out how to enable the WebView control to render Adobe Flash content from a website in a Universal Windows App (either a Hosted Web App or a Packaged Web App).
Any ideas or pointers would be much appreciated.
Thanks.
WebView doesn't use Edge as the engine but uses IE11. Quote from the docs - "WebView always uses Internet Explorer 11 in document mode".
It also doesn't support any plugins or such, which would include Flash.
Full run of caveats from the control doc:
It does not support any ActiveX controls or plugins like Microsoft
Silverlight or Portable Document Format (PDF) files. Additionally,
WebView does not support some HTML5 features including AppCache,
IndexedDB, programmatic access to the Clipboard, and geolocation.
More "tidbit" reading up at https://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.webview.aspx .
Enjoy. Hope this helps. Healy in Tampa.
On Universal application, the webview is using edge now but it does not change anything regarding plugins.
Here is what it says from the MSDN :
In apps compiled for Windows 10, WebView uses the Microsoft Edge
rendering engine to display HTML content. In apps compiled for Windows
8 or Windows 8.1, WebView uses Internet Explorer 11 in document mode.
It does not support any ActiveX controls or plugins like Microsoft
Silverlight or Portable Document Format (PDF) files.
I want to create a desktop application for Windows, which will run specified website url in that. for example look this montage- i want a software like fluidapp.com (Mac Support).
montage link- http://dl.dropbox.com/u/65090365/2013/preview.jpg
There is a windows forms WebBrowser control which should do what you want.
http://msdn.microsoft.com/en-us/library/2te2y1x6.aspx
How can I embed a WebView (Embedded Web browser) inside a Delphi MacOS application?
It does not appear the webkit headers are included in XE2.
Have you tried the TWebBrowser control? This control works in the iOS environment and you can simply set it's URL or use the Navigate function.
Have you looked at Chromium Embedded Framework? It might be kinda heavyweight if you just want a view with some HTML, but they have bindings for Delphi. You get access to an up to date chrome webkit/blink browser with V8.
I'm trying to understand how an app like 1Password can be on the Mac App Store and come with a Safari extension (and most importantly, how can the extension communicate with the app) because I'd like to do the same.
Is the native app running a server as a subprocess that get's called by the safari extension?
I'd like to know if it's possible to do that and still be Mac App Store + Sandboxing friendly.
1Password uses an agent to communicate between the Mac App and the Safari Extension. The agent is most likely a small server process that can receive RESTful calls from the extension(s). This mechanism allows the synchronization between all the different extensions (Safari, Chrome, Firefox, etc), the client and the main database.
The Safari extension is no longer installed directly by the 1Password app, by the way. Instead, you are directed to a web page that contains the Safari extension download, thus making the App sandbox-friendly.
I believe it's a regular .app that has a Safari extension inside it as a resource.
The app will check for the existence of the Safari extension on application launch, and if it doesn't find it in the default locations it will prompt the user to install it. If the users chooses to install it, the app copies the extensions to the Safari extensions folder.
Is there a way to execute a XUL program delivered via "trusted" web site outside of the browser sandbox?
My XUL program executes beautifully in local XULRunner and in firefox with the -add parameter.
Now, I'd like to put it on my secure intranet and allow users to click a button which will launch it. My app has behaviors that access local resources such as .exes, so it seems like the browser sandbox will prohibit the app from carrying out those behaviors. But I'd really like to create a browser-based launchpad for this app. And since I'm hosting it on my intranet, which is trusted in my users' browsers, it seems like it should be possible.
Mozilla's documentation says "It is also possible to open XUL files directly from the file system or from a remote web site; however they will be restricted in the kinds of operations they can do, and some aspects of XUL will not work." But given that "Remote XUL is DEAD", I need a way to kickoff my local XUL app without executing XUL in the browser.
If not, is there a firefox extension that could run this XUL app?
To elaborate on my initial comment, turn your app into an extension (although most of the steps should be familiar to you already) and then secure your updates.